【问题标题】:Sql Server 2012 Search value characterSql Server 2012 搜索值字符
【发布时间】:2017-11-29 22:18:01
【问题描述】:

我试图在一个用 (:) 冒号分隔的字符串中找到一个值(1 个字符),我正在尝试使用 CHARINDEX 函数,但它不能 100% 工作,因为它返回包含值的字符串我不想让他回来。

例子:

值 = 1:2:1 可以接受

值 = 1: 23: 1 不能接受

值 = 2:1:1 可以接受

值 = 1:1:2 可以接受

值 = 3:23:1 不能接受

代码:

SELECT CHARINDEX('2', ltrim(rtrim(replace(AA,' ',''))) ) ,
    FROM table
where CHARINDEX('2', ltrim(rtrim(replace(AA,' ',''))) ) > 0 

我怎么能只给我看“可接受的”

我使用的是 SQL Server 2012。

感谢支持!

【问题讨论】:

  • 你的规则不明确。您是否正在寻找至少在一个段中有一位数为 2 的记录?

标签: sql sql-server string search


【解决方案1】:

我能想到的最简单的方法:在字符串的开头和结尾都附加 ':',然后在 ':2:' 上执行 charindex。

例如CHARINDEX(':2:', ltrim(rtrim(replace(':' + AA + ':',' ',''))) )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 2013-03-25
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    相关资源
    最近更新 更多