【发布时间】:2017-09-12 14:52:11
【问题描述】:
我正在尝试从 SQL Server 2012 中位于井号 (#) 符号之后和后面的任何空格之前的字符串中获取数字。例如,商店号码。假设我们有以下内容:
Big Box Store #450
Big Box Store #768
Little Shop #2
Widgets Warehouse #678
Little Shop #5
Widgets Warehouse #559
Corner Boutiques #32 *CLOSED
Corner Boutiques #67 *CLOSED
Corner Boutiques #12
Buy More #1047 SUPERSTORE
1 Stop Shop #3
1 Stop Shop #17
You 2 Me #16
我会返回以下值:450、768、2、678、5、559、32、67、12、1047、3、17、16。
如您所见,并非所有字符串的末尾都有数字。其中一些甚至在商店名称中带有数字字符。我认为解决此问题的最佳方法是提取井号后面的数字。
有没有办法做到这一点?我看过以下文章:
Query to get only numbers from a string
https://www.sqlservercentral.com/Forums/Topic456023-338-1.aspx
似乎PATINDEX 可能很好用,但我不确定到目前为止我所尝试的方法并没有返回预期的结果。
非常感谢!
【问题讨论】:
标签: sql sql-server patindex