如何在SQL中获取引号内的值

时间:2017-12-29 09:04:02

标签: sql sql-server

我想在SQL中分离一个固定的表达式,以便在' '中获取字符串值。 例如,在以下SQL中:

declare @value varchar(60)
set @value = 'a.[country] LIKE ''US'''

我想单独存储信息US,有没有办法做到这一点? 提前谢谢。

2 个答案:

答案 0 :(得分:2)

你可以试试这个

declare @value varchar(60)
set @value = 'a.[country] LIKE ''US'''

select left(Right(@value,3),2)
--OR this
select substring(Right(@value,3), 1, 2) 

答案 1 :(得分:0)

问题似乎不完整,但基于这个问题,我建议在动态字符串中使用一些Delimiter,并在SQL中使用LEFT,CHARINDEX和SUBSTRING的组合来从SQL中获取值。

示例

以下不是最好的例子,只是解释如何使用它: e.g

declare @value varchar(60)
set @value = 'a.[country] LIKE §''US'''
SELECT LEFT(SUBSTRING(@value,
                      CHARINDEX('§', @value) + 1, 100),
                      CHARINDEX('§', @value) - 1)

输出

  

' US'

在StackOverflow上已有一些关于此的例子。

如果您还没有查看其他StackOverflow帖子,可以参考以下内容:

How to extract this specific substring in SQL Server?