猿问

查询,仅从字符串中获取数字。

查询,仅从字符串中获取数字。

假设我有这样的数据:

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

我期望的输出是

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

我想在SQL中实现它。请帮帮忙。(预先谢谢:)


波斯汪
浏览 522回答 3
3回答

喵喔喔

首先创建这个UDFCREATE FUNCTION dbo.udf_GetNumeric(@strAlphaNumeric VARCHAR(256))RETURNS VARCHAR(256)ASBEGINDECLARE @intAlpha INTSET  @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)BEGINWHILE @intAlpha > 0BEGINSET  @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' )SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric ) ENDENDRETURN ISNULL(@strAlphaNumeric,0)ENDGO现在使用function如SELECT dbo.udf_GetNumeric(column_name) from table_nameSQL小提琴我希望这解决了你的问题。参照系
随时随地看视频慕课网APP
我要回答