发布网友 发布时间:2022-05-01 21:16
共5个回答
懂视网 时间:2022-05-02 01:38
CREATE TABLE [dbo].[Student]( [S#] [varchar](50) NULL, [Sname] [varchar](50) NULL, [Ssex] [varchar](2) NULL)INSERT INTO Student VALUES (1,‘张三‘,1)INSERT INTO Student VALUES (2,‘李四‘,1)INSERT INTO Student VALUES (3,‘王五‘,1)INSERT INTO Student VALUES (4,‘赵六‘,1)INSERT INTO Student VALUES (5,‘孙七‘,1)--精确匹配的话,不管是单值还是多值,都很好处理select * from Student where Sname in (‘张三‘,‘李四‘)--单值模糊的好处理select * from Student where Sname Like ‘%五%‘--多值模糊匹配,就没有这么直接了--所谓的多值模糊匹配,就是外面传递进来多个值,这些值差分开之后,每个值都做模糊查询--SQL既要写满足功能性需求,又要简明的清晰,一开始还想写函数什么玩意的,--后来想了想,可以这么处理;with CTENameas( --这是一个字符串拆分函数 select id,concat(‘%‘,s,‘%‘) as name from dbo.f_splitStrToTable(‘四,五,六‘,‘,‘) )select * from Studentwhere exists( select 1 from CTEName where Sname like name )--查询结果S# Sname Ssex2 李四 13 王五 14 赵六 1(3 row(s) affected)
T-SQL---多值模糊查询的处理
标签:key值
热心网友 时间:2022-05-01 22:46
要是条件很多可以用and啊热心网友 时间:2022-05-02 00:04
select a.* from TableName a ,TableName b热心网友 时间:2022-05-02 01:38
select * form TableName where PiCi in (select PiCi from TableName2 where TiaoJian).热心网友 时间:2022-05-02 03:30
select distinct t1.*