-1
처음 나타나는 모든 문자열에서 번호를 가져 오는 것과 관련된 쿼리가 있습니다. 예를 들어문자열에서 숫자 부분 가져 오기
"10 Main Street" would return 10
"34 10 Main Street" would return 3410
" 34 10 Main Street" would return 3410
" 34 - 10 Main Street" would return 34
기능
ALTER FUNCTION [dbo].[GetNumeric]
(@strAlphaNumeric nVARCHAR(Max))
RETURNS VARCHAR(256)
AS
BEGIN
DECLARE @intAlpha INT
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)
BEGIN
--WHILE @intAlpha > 0
BEGIN
SET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '')
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)
END
END
RETURN ISNULL(@strAlphaNumeric,0)
END
그러나이
select dbo.[GetNumeric](' 34 - 10 Main Street')
결과가 정확한 답을 제공하지 않습니다 - 3410 // 여기
고든 (Gordon)은 숫자가 문자열의 끝에있는 경우 (예 : "Main Street 3") 코드가 실패합니다. –
@rsocol. . . 좋은 캐치. –