2013-07-22 3 views
1

기본 문자는 숫자와 문자로 이루어져 있습니다. 예 : 7223-03-PINK(f/토큰 용)

새 레코드가 만들어지면 첫 번째 숫자 블록 (7223)이 +1 씩 증가합니다. 이고 두 번째 및 세 번째 블록 (03-PINK)은 그대로 유지됩니다.

레코드가 테이블에 추가됨에 따라 pkey의 첫 번째 블록은 결국 현재 4 자리가 아닌 5 자리 숫자가됩니다.

pkey의 첫 번째 블록을 선택하고 싶습니다. 나는 결국 내가 가지고 있기 때문에

SUBSTRING이 공식을 변경

SUBSTRING (PKEY, 1, 4)

를 사용하지 않는 (PKEY, 1 ,).

SQL에서 첫 번째 토큰 만 선택할 수있는 항목이 있습니까? 어쩌면 FOR/F와 동일한 "토큰 = 1".... CMD에서?

SQL Server 2008 R2에서이 작업을 수행하려고합니다.

답변

0

위치를 찾고 읽습니다.

SUBSTRING(pkey, 1, CHARINDEX('-', pkey, 1) - 1) 

정수 (identity?) 열에 선행 정수 부분을 포함시킬 수도 있습니다.

+0

이 공식은 완벽하게 작동했습니다! 감사! – Harif87