根據註釋:
什麼,我需要的是SELECT * FROM somecolumn其中number = 1234561234" 應該返回 行,其中數字是 「123456-1234A」
首先,你可以創建一個描述here功能:
CREATE FUNCTION dbo.udf_GetNumeric
(@strAlphaNumeric VARCHAR(256))
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
GO
然後嘗試類似:
select * from somecolumn where dbo.udf_GetNumeric(number) = 1234561234
使用REPLACE函數更換'-',並與空字符串「」 – lad2025
所有非數字謝謝你,我可能會誤解你,但那樣只會幫助,如果我使用格式化結果。在這種情況下,我還沒有結果。我只知道數字,而不是我執行查詢時的其他角色。 – stefan
那麼,你想只從領域得到的數字?對? – Marusyk