根据列中的子字符串可能包含的内容选择行

时间:2018-07-25 15:17:11

标签: sql sql-server tsql

我正在寻找选择行的主键,而我只有一列包含需要选择行的信息(在子字符串中)。

例如MyTable


ID | Label

------------
11 | 1593:#:#:RE: test
12 | 1239#:#:#some more random text
13 | 12415#:#:#some more random text about the weather
14 | 369#:#:#some more random text about the StackOverflow

标签列始终带有:#:#:

的分隔符

所以我真的很想,我需要能够用定界符分割该行,抓住label列的第一部分(即我要查找的数字)以获取所需的ID。

因此,如果我想要ID为14的行,那么我将是:

Select ID from MyTable 
where *something* = '369'

关于如何构造某物 ..或如何最好地做到这一点的任何想法:)

我完全迷住了,无法找到方法。

谢谢

1 个答案:

答案 0 :(得分:4)

怎么样:

WHERE label LIKE '369#%'? 

没有理由幻想。

尽管..如果您打算经常进行此搜索,则可以将其作为ETL流程的一部分预先拆分到另一列并为其编制索引。