问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

T-SQL问题

发布网友 发布时间:2022-04-09 09:50

我来回答

2个回答

懂视网 时间:2022-04-09 14:11

1. % 表示任意0个或多个字符。如下语句:Select * FROM user Where name LIKE ‘%三%‘; 将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来。%三:表示左匹配。三%:表示右匹配。

%三%:表示模糊查询。

2. _ 表示任意单个字符。语句: Select * FROM user Where name LIKE ‘_三_‘;只找出“唐三藏”。这样name为三个字且中间一个字是“三”的; Select * FROM user Where name LIKE ‘三__‘; 只找出“三脚猫”这样name为三个字且第一个字是“三”的;

3. [ ] 表示括号内所列字符中的一个(类似与正则表达式)。语句:Select * FROM user Where name LIKE ‘[张李王]三‘; 将找出“张三”、“李三”、“王三”(而不是“张李王三”); 如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e“。Select * FROM user Where name LIKE ‘老[1-9]‘;将找出“老1”、“老2”、……、“老9”;如要找“-”字符请将其放在首位:‘张三[-1-9]‘;

4. [^ ] 表示不在括号所列之内的单个字符。语句:Select * FROM user Where name LIKE ‘[^张李王]三‘;将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;Select * FROM user Where name LIKE ‘老[^1-4]‘; 将排除“老1”到“老4”寻找“老5”、“老6”、……、“老9”。

5.* 表示查找的是所有信息,例如select * from tbl_user

最后是重点!由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”、“‘;”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数: function sqlencode(str) str=replace(str,"‘;","‘;‘;") str=replace(str,"[","[[]") ‘;此句一定要在最先 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end function 在查询前将待查字符串先经该函数处理即可,并且在网页上连接数据库用到这类的查询语句时侯要注意:如Select * FROM user Where name LIKE ‘老[^1-4]‘;上面《‘》老[^1-4]《‘》是要有单引号的,别忘了,我经常忘!

 

sql的四种匹配模式

标签:

热心网友 时间:2022-04-09 11:19

Select * from table where Uname LIKE'张[^无]忌'

SQL模糊查询的语法为
“SELECT column FROM table WHERE column LIKE ';pattern';”。

SQL提供了四种匹配模式:
1. % 表示任意0个或多个字符。如下语句:
SELECT * FROM user WHERE name LIKE ';%三%';
将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来;

2. _ 表示任意单个字符。语句:
SELECT * FROM user WHERE name LIKE ';_三_';
只找出“唐三藏”这样name为三个字且中间一个字是“三”的;
SELECT * FROM user WHERE name LIKE ';三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的;

3. [ ] 表示括号内所列字符中的一个(类似与正则表达式)。语句:
SELECT * FROM user WHERE name LIKE ';[张李王]三';
将找出“张三”、“李三”、“王三”(而不是“张李王三”);

如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM user WHERE name LIKE ';老[1-9]';
将找出“老1”、“老2”、……、“老9”;
如要找“-”字符请将其放在首位:';张三[-1-9]';

4. [^ ] 表示不在括号所列之内的单个字符。语句:
SELECT * FROM user WHERE name LIKE ';[^张李王]三';
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
SELECT * FROM user WHERE name LIKE ';老[^1-4]';
将排除“老1”到“老4”寻找“老5”、“老6”、……、“老9”。

!最后是重点!
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”、“';”的语句无法正常实现,而把特殊字符用“[

]”括起便可正常查询。据此我们写出以下函数:

function sqlencode(str)
str=replace(str,"';","';';")
str=replace(str,"[","[[]") ';此句一定要在最先
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 黑龙江债权转让合同纠纷该怎样取证 安徽债权转让合同纠纷应该怎么样取证 房产官司律师费多少 钓箱上面印了个 渔乐行 其他都是日文 叫什么当社比 这是什么牌子的钓箱? 钓箱上面配件更换后留下的螺丝眼怎么处理? 有啥填充剂吗? 钓箱左手配件高低,拉饵盒位置在左还是右?该怎么安装一下?固定的好还是插片的好? 海钓箱应该买什么样的? 刚买了恒冠新款钓箱,放在没人住的房间,担心怕被老鼠咬,老鼠会咬钓箱吗? 牧马人钓箱的配件安装使用图 为什么我新买的西玛诺2009新款钓箱内没有配背带?如何能够配上?(限北京地区) 达瓦台钓箱如何组装 钓箱怎么安装 上岗证考试流程? 大型医疗设备上岗证报名时间 买来的原神号哪修改密码验证失败手机 原神怎么改密码? 进医院上班需要的上岗证在哪报名考试啊?很急啊? 院感上岗证怎么考 微博帐号不知道因为什么原因,被锁定了,帐号异常,求问该如何恢复使用 青椒炒蛋过夜可以吃吗 辣椒炒的鸡蛋过夜了还能吃吗? sql模糊查询指定字节长度 谁能告诉我QQ注册的快手怎么注销啊 我给对方打电话怎么能整出魔音了让他听不出我的声音是女人声 家里才装潢的多媒体盒网线怎么装的? 智能家居多媒体箱网线怎么接到卧室和客厅墙里??? TCL多媒体盒网线接法? 自己原来的老,多年没用了,现在还能继续登录使用吗? 我有个快一年的没登录了,现在还能正常登录吗 长期不登录是否会被注销?还可以登录吗? 我有个快一年的没登录了,现在还能正常登录吗 - 信息提示 很久没用了,现在用怎么才可以登陆上去? B站怎么查看视频有没有1080P? 我有个快一年的没登录了,现在还能正常登录吗? - 信息提示 我有个快一年的没登录了,现在还能正常登录吗你好,我有一个很多年没登录的,什么都没绑定,_百度问一问 怎么把B站视频转码到电脑上? 自己原来的老,多年没用了,现在还能继续登录使用吗? 我有个快一年的没登录了,现在还能正常登录吗 长期不登录是否会被注销?还可以登录吗? 志高空调升降门开传感器怎么及时处理? 我有个快一年的没登录了,现在还能正常登录吗