我有这样的数据:
string 1: 003Preliminary Examination Plan string 2: Coordination005 string 3: Balance1000sheet
我期望的输出是
string 1: 003 string 2: 005 string 3: 1000
我想在SQL中实现它。
首先创建这个 UDF
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 ISNULL(@strAlphaNumeric,0) END GO
现在使用 function as
function
SELECT dbo.udf_GetNumeric(column_name) from table_name
SQL字段
我希望这可以解决您的问题。