我有一张桌子,其中有一行和三列。在C列中,我们在单元格中有多行。如何在C列的前3行中搜索“hi”。我有兴趣在C列的前n行搜索模式。
假设下面是表格:
---- A ----- B ------ C
---- as ----- de ----- ef
------------------- JK
------------------- LM
提前致谢。
答案 0 :(得分:0)
如果只需要搜索一行,就可以执行以下操作(您需要将文本放入@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