首页 > 解决方案 > 如何在 SQL 文本字段中选择多行字符串的位置?

问题描述

我正在使用 SQL Server 并有一个表,其中的文本列跨越多行,如下所示:

[textfield]
blah blah
blah

yackety
shmackety

blah blah

我想要

select * 
from table
where [textfield] like '
%
yackety
shmackety
%
'

标签: sqlsql-server

解决方案


通配符还包括%换行符。

换行符的问题在于它并不总是相同的。Some use char(10), some use char(13), some use char(13) + char(10),当然,你看不到line 刹车之前是否有空格,所以最简单的方法就是%在你期待 line 刹车的时候使用:

select * 
from table
where [textfield] like '%yackety%shmackety%'

如果你想确保两个单词之间至少有一个换行符,你必须做一些不同的事情:

select * 
from table
where [textfield] like '%yackety%'+ char(10) +'%shmackety%'
or  [textfield] like '%yackety%'+ char(13) +'%shmackety%'

推荐阅读