2017-11-20 11 views
0

쿼리에 IIF() 문을 사용하여 짧은 텍스트 필드를 항상 4 자로 업데이트하려고합니다. 이것은 내 구문이지만항상 짧은 텍스트 필드를 X 문자로 지정하려면

SELECT DISTINCT IIf(Len([User ID] = 1), "000" & [User ID], IIf(Len([User ID] = 2), "00" & [User ID], IIf(Len([User ID] = 3), "0" & [User ID], [User ID]))) AS ST 
FROM _TestData; 

그러나 길이에 상관없이 데이터에 0을 추가하는 것처럼 보입니까? [User ID]이 숫자가

답변

2

에서 그것은이 간단 할 수있다 :

SELECT DISTINCT Right("000" & [User ID], 4) AS ST 
FROM TestData; 
+0

멋진 대답! 길이가 0 인 문자열을 처리하기 위해 여분의 0을 추가합니다. 그러나 이는 아마도 중복됩니다. –

0

경우,이 시도 : 필드가 짧은 텍스트입니다 부재

SELECT DISTINCT Format([User ID], "0000") AS ST 
FROM _TestData; 

업데이트

. 이 경우

SELECT DISTINCT Format(CLng(Nz([User ID],0)), "0000") AS ST 
FROM _TestData;