CREATE FUNCTION dbo.[udf_CountNumericCharacters](@strText VARCHAR(1000))
RETURNS VARCHAR(1000)
AS
BEGIN
WHILE PATINDEX('%[^0-9]%', @strText) > 0
BEGIN
SET @strText = STUFF(@strText, PATINDEX('%[^0-9]%', @strText), 1, '')
END
RETURN LEN(@strText)
END
-- Greater than one
SELECT *
FROM Test
WHERE dbo.[udf_CountNumericCharacters]([Name]) > 1
-- Greater than three
SELECT *
FROM Test
WHERE dbo.[udf_CountNumericCharacters]([Name]) > 3
-- Exactly 5
SELECT *
FROM Test
WHERE dbo.[udf_CountNumericCharacters]([Name]) = 5
快速搜索將讓你一百萬個不同的方式來打印這些結果。
你能舉一些例子嗎? –
你的意思是當列中包含字符串中給定數量的數字?以下http://technet.microsoft.com/en-us/library/ms181984.aspx將幫助您 –
請不要只是要求我們爲您解決問題。告訴我們你是如何試圖自己解決問題的,然後向我們展示結果是什麼,並告訴我們爲什麼你覺得它不起作用。請參閱「[您嘗試過什麼?](http://whathaveyoutried.com/)」,以獲得一篇您最近需要閱讀的優秀文章。 –