【发布时间】:2020-05-01 10:16:48
【问题描述】:
我已经检查了这里与可变长度子字符串相关的许多线程 - 没有一个回答我的具体情况 - 请不要将其标记为可能重复,除非我以某种方式错过了它。
Azure SQL Server 2017
我在表 dbo.MyTable 中有一个名为 Name 的 varchar(50) 字段,其中包含以下类型的值:
1143_RRF-tansTracks
DGGP-45-HAEJTJ_wer
3TTKH_YPreTTR
4534554PostRTE
WERET677ITD
PINT_pilly-er_45321
我正在尝试使用SUBSTRING 来获得这个:
1143
45
3
4534554
677
45321
我无法理解如何定义length 参数。
到目前为止我所拥有的:
SUBSTRING(Name, (PATINDEX('%[0-9]%',[Name])),7) AS Number
7 只是作为占位符存在 - 我如何正确编写 length 参数来实现我的号码提取?
【问题讨论】:
-
您想获取字符串中的所有数字吗?即 abc123def456 返回 123456?还是应该返回 123?还是完全不同的东西?
标签: sql sql-server tsql substring sql-server-2017