【问题标题】:How to make select statement return rows have comma separated from field?如何使选择语句返回行与字段有逗号分隔?
【发布时间】:2020-10-19 09:00:07
【问题描述】:

我在 SQL Server 2012 上工作我遇到问题:我无法制作 select 语句

仅返回以逗号分隔的行 ValueHaveComma ?

我需要做的

select * from #seachvaluesHaveComma where ValueHaveComma contain comma

我的示例如下

create table #seachvaluesHaveComma
(
ID INT IDENTITY(1,1),
ValueHaveComma nvarchar(100)
)
insert into #seachvaluesHaveComma(ValueHaveComma)
 values 
 ('1,2'),
 ('3.5,5.4'),
 ('a,b,c'),
 ('A')

预期结果为:

ID  ValueHaveComma
1   1,2
2   3.5,5.4
3   a,b,c

【问题讨论】:

  • select * from #seachvaluesHaveComma where ValueHaveComma like '%,%'。但是您永远不应该,永远,存储逗号分隔值。

标签: sql tsql stored-procedures sql-server-2012 sql-function


【解决方案1】:

试试这个查询。这是获取逗号值的简单查询。我们需要使用 Like 运算符,因为您提到了 sql server。

select * from #seachvaluesHaveComma where ValueHaveComma like '%,%'

【讨论】:

    【解决方案2】:

    你可以通过两种方式得到结果,

    CHARINDEX

    select * from #seachvaluesHaveComma where CHARINDEX(ValueHaveComma, ',') > 0;
    

    LIKE

    select * from #seachvaluesHaveComma where ValueHaveComma like '%,%';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 2011-09-08
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多