数据中的各种数字

时间:2015-08-25 15:50:25

标签: sql

如果有不同程度的测量数据也相当模糊,例如:

100mg    
30ml    
0.5mg    
12 mg    
.03g

如何获取测量数据?

我已查看PATINDEX(%[0-9]&) and NUMERIC

我觉得我的代码应该倾向于以下内容:

... LIKE '%'+NUMERIC(5,2)+'%'

1 个答案:

答案 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