我使用
进行Oracle查询SELECT REGEXP_SUBSTR('500 Oracle Parkway, Redwood Shores, CA',',[^,]+,')
FROM DUAL;
它返回如下输出:
, Redwood Shores,
我试图在SQL Server中获得完全相同的结果。我尝试按以下方式执行此操作
substring(text, patindex, length)
但我在长度规格方面遇到了困难。
请告诉我如何在SQL Server中实现这一目标?
答案 0 :(得分:1)
您可以尝试以下查询
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 clause
仅用于数据准备。只需使用substring
select statement
部分即可
答案 1 :(得分:1)
试试这个:
Declare @test varchar(max)='500 Oracle Parkway, Redwood Shores, CA'
select reverse(substring(reverse(substring(@test,charindex(',',@test),len(@test))),
charindex(',',reverse(substring(@test,charindex(',',@test),len(@test)))),
len(substring(@test,charindex(',',@test),len(@test)))))