gpt4 book ai didi

sql - 查询仅从字符串中获取数字

转载 作者:行者123 更新时间:2023-12-01 18:01:32 33 4
gpt4 key购买 nike

我有这样的数据:

string 1: 003Preliminary Examination Plan   
string 2: Coordination005
string 3: Balance1000sheet

我期望的输出是

string 1: 003
string 2: 005
string 3: 1000

我想用 SQL 实现它。

最佳答案

首先创建这个UDF

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 LEN(COALESCE(TRIM(CAST(ISNULL(@strAlphaNumeric, 0) AS INT)),0))>0 then COALESCE(TRIM(CAST(ISNULL(@strAlphaNumeric, 0) AS INT)),0) else 0 end
END
GO

现在使用函数作为

SELECT dbo.udf_GetNumeric(column_name) 
from table_name

<强> SQL FIDDLE

我希望这能解决您的问题。

<强> Reference

23年4月10日 - 根据评论修改返回声明

关于sql - 查询仅从字符串中获取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667251/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com