SQL Server: 숫자 앞에 0 추가
기존 SQL Server 2000 데이터베이스에서는 직원 배지 번호로 char(6)
을 사용하여 앞에 0이 붙는 일관된 형식을 보장했습니다. 그러나 새 웹 애플리케이션은 효율성 향상을 위해 이를 정수로 저장합니다. 이로 인해 데이터를 쿼리할 때 형식 지정 문제가 발생합니다.
다음은 SQL 쿼리에서 앞에 0이 있는 정수 형식을 지정하는 방법입니다.
REPLICATE를 사용한 솔루션:
REPLICATE
기능은 우아한 솔루션을 제공합니다.
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(employeeId)) + employeeId FROM dbo.RequestItems WHERE ID = 0;</code>
REPLICATE
의 '6'을 조정하여 패딩된 문자열의 총 길이를 제어합니다. 이 예에서는 6자 길이를 유지합니다.
예를 들어 7135의 employeeId
은 '007135'를 반환합니다.
INT 열 처리:
employeeId
이 INT
열인 경우 RTRIM
:VARCHAR
로 암시적으로 변환하려면
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(RTRIM(employeeId))) + RTRIM(employeeId) FROM dbo.RequestItems WHERE ID = 0;</code>
앞에 오는 0 제거:
원래 숫자(앞에 0 없이)를 검색하려면 RIGHT
및 PATINDEX
함수를 사용하세요.
<code class="language-sql">SELECT RIGHT(employeeId, (LEN(employeeId) - PATINDEX('%[^0]%', employeeId)) + 1) FROM dbo.RequestItems WHERE ID = 0;</code>
이 접근 방식은 C# 코드와 SQL Server 쿼리 모두에서 선행 0을 관리하기 위한 강력한 솔루션을 제공하여 애플리케이션 전체에서 데이터 일관성을 보장합니다.
위 내용은 SQL Server 쿼리에서 숫자 앞에 0을 채우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!