我有一个 Oracle 查询,使用
SELECT REGEXP_SUBSTR('500 Oracle Parkway, Redwood Shores, CA',',[^,]+,')
FROM DUAL;
它返回如下输出:
, Redwood Shores,
我试图在 SQL Server 中获得完全相同的结果。我尝试按如下方式进行
substring(text, patindex, length)
但我在长度规范方面遇到了困难。
您能否告诉我如何在 SQL Server 中实现此目的?
最佳答案
您可以尝试以下查询
WITH dual AS
(
SELECT '500 Oracle Parkway, Redwood Shores, CA' AS st
)
SELECT SUBSTRING(REVERSE(SUBSTRING(REVERSE(st),
CHARINDEX(',', REVERSE(st)),
LEN(st))),
CHARINDEX(',', st),
LEN(st)) str_value
FROM dual
下面是我得到的结果
注意:with 子句
仅用于数据准备。只需使用select语句
中的substring
部分
关于sql-server - SQL Server 中的 REGEXP_SUBSTR 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41424129/