为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

波斯汪 2019-07-04 17:26:02
查询,仅从字符串中获取数字。假设我有这样的数据:string 1: 003Preliminary Examination Plan   string 2: Coordination005   string 3: Balance1000sheet我期望的输出是string 1: 003string 2: 005string 3: 1000我想在SQL中实现它。请帮帮忙。(预先谢谢:)
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

首先创建这个UDF

CREATE 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_name

SQL小提琴

我希望这解决了你的问题。

参照系


查看完整回答
反对 回复 2019-07-04
  • 3 回答
  • 0 关注
  • 521 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信