sqlserver中获取字符串中的数字部分/保留小数点

原文链接:https://www.cnblogs.com/qubernet/p/17994393

--获取字符串中的数字部分
CREATE FUNCTION [dbo].[f_GetNumStr]
(
@Str NVARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
WHILE PATINDEX('%[^0-9]%',@Str)>0
BEGIN
--去掉非数字的字符
SET @Str=STUFF(@Str,PATINDEX('%[^0-9]%',@Str),1,'')
END
RETURN @Str
END

 

保留小数点:

 

CREATE FUNCTION [dbo].[Fun_GetNumPart]
(@Str varchar(50))
RETURNS varchar(50)
AS
BEGIN
-- Declare the return variable here
WHILE PATINDEX('%[^0-9.]%',@Str) > 0

BEGIN
SET @Str=STUFF(@Str,PATINDEX('%[^0-9.]%',@Str),1,'')
END

RETURN @Str
END

posted @ 2024-08-17 10:56  yinghualeihenmei  阅读(202)  评论(0)    收藏  举报