我有一个表格,其中有一行和三列。在 C 列中,我们在单元格中有多行。我如何在 C 列的前 3 行中搜索“hi”。我有兴趣在 C 列的前 n 行中搜索模式。
假设下面是表格:
----A -----B ------C
----as-----de -----ef
-------------------jk
-------------------lm
提前致谢。
如果它只是您需要搜索的单行,您可以执行以下操作(您需要将文本放入@cellText,并将@n 设置为行数,并调整换行符,然后重写对于 mySQL):
declare @n int
set @n = 2
declare @cellText varchar(100)
select @cellText = '1xxx
2xxx
3xxx
4xxx'
---------------------------
declare @textToSearch varchar(100)
set @textToSearch = ''
declare @counter int
set @counter = 0
while charindex( CHAR(13)+CHAR(10), @cellText) > 0
begin
set @counter = @counter + 1
set @textToSearch = @textToSearch + LEFT(@cellText, charindex( CHAR(13)+CHAR(10), @cellText)+1)
set @cellText = SUBSTRING(@cellText, charindex( CHAR(13)+CHAR(10),@cellText)+2, LEN(@cellText))
if @counter = @n break
end
if @n > @counter and LEN(@cellText) > 0 set @textToSearch = @textToSearch + @cellText
-- search your text here
select @textToSearch