如果有不同程度的测量数据也相当模糊,例如:
100mg
30ml
0.5mg
12 mg
.03g
如何获取测量数据?
我已查看PATINDEX(%[0-9]&) and NUMERIC
我觉得我的代码应该倾向于以下内容:
... LIKE '%'+NUMERIC(5,2)+'%'
答案 0 :(得分:0)
您应该创建一个描述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 dbo.udf_GetNumeric(column)
from table