我使用下面的功能來搜索名稱:SQL,使用替換功能查找相關的文字
select * from Students where First_Name Like '%' + replace('Jasmin', '%', '[%]') + '%')
此功能是不夠好,找到相關文本,包括空格或文字,如「Jasminj」(數據錄入錯誤)。但是如何使用這種查詢來搜索多個條件,例如:「First Name」和「Last Name」。 最後,有沒有更好的方法來搜索相關文本?感謝
我使用下面的功能來搜索名稱:SQL,使用替換功能查找相關的文字
select * from Students where First_Name Like '%' + replace('Jasmin', '%', '[%]') + '%')
此功能是不夠好,找到相關文本,包括空格或文字,如「Jasminj」(數據錄入錯誤)。但是如何使用這種查詢來搜索多個條件,例如:「First Name」和「Last Name」。 最後,有沒有更好的方法來搜索相關文本?感謝
下面的查詢將幫助您: -
declare @Employee Table
(
First_Name varchar(20) NOT NULL,
Last_Name varchar(20) NOT NULL
)
Insert into @Employee
values('Jasmin','Smith')
Insert into @Employee
values('Raj','Kumar')
select concat(First_Name,' ',Last_Name) from @Employee where concat(First_Name,' ',Last_Name) Like '%' + replace('Ja', '%', '[%]') + '%'
輸出:茉莉史密斯
select concat(First_Name,' ',Last_Name) from @Employee where concat(First_Name,' ',Last_Name) Like '%' + replace('ra', '%', '[%]') + '%'
輸出:拉傑·庫馬爾
您可以使用concat函數來獲得所需的結果。
無法正常工作,Concat無法識別, 我也嘗試過: select * from First_Name Like'%'+ replace('Jasmin','%','[%]')+'%' )和Last_Name Like'%'+替換('Swith','%','[%]')+'%') 並且也沒有工作 –
試試這個查詢:select * from Students where First_Name Like'% '+'替換('Jasmin','%','[%]')+'%'或Last_Name Like'%'+替換('Swith','%','[%]')+'%' – Ragesh
不管怎麼說 –
如果你在數據庫中有兩列First Name和Last Name,你可以給出一個樣本並且預期結果爲 – Ragesh
。 如果你輸入了一個名字:Jasmin Swith。 使用替換查詢,如果您搜索「Ja」,「Jasmin Swith」名稱將包括在內: select * from First_Name Like'%'+ replace('Ja','%','[%]') +「%」) 結果:茉莉SWITH >>>>> 但使用相同的操作: $ SELECT * FROM學生將First_Name地方=「JA」 不會有結果 –
所以我的問題是如何使用AND運算符來搜索名字和姓氏 –