SQL语句中关于select……like的问题

那天我在整理书架时,一本旧相册引起了我的注意,我的大学毕业照引起了我的注意。
王涛、李娜、张伟三个朋友站在最前面,笑容非常灿烂。
等等,我觉得王涛叫王,李娜叫李,张伟叫张。
这有点像数据库查询。
那天,我帮隔壁小学的老师核对学生名单。
我用的是Excel电子表格,过滤功能非常好用。
我突然想到,如果我有几百个学生,他们的名字都是王、李、张,那么使用这样的模糊查询会更快。
我想那是上周三,地点是小学办公室。
我不记得到底有多少人接受了检测,但这似乎比点名要麻烦得多。
该SQL语句类似于Excel过滤。
你好,数据库真是个好东西。
我想如果我能像人类一样笑那就太好了。

sql查询 名字

记得上次帮同事调试存储过程时,他的SQL语句写得乱七八糟,结果发现问题出在参数值传递上。
当时,他正在使用旧的数据库系统。
服务器位于机房角落,风扇声音很大。
他使用的环境是SQL Server 2 008 ,代码非常基础,但是卡住了。

创建存储过程是一个非常好的主意,特别是在处理大量数据查询时。
例如,如果你写的SelectByName在Sheet1 中有几百万条记录,每次用“%name%”搜索肯定会很慢。
上次看到一个优化方法。
可以对name字段建立索引,但具体效果取决于数据分布。

但是varchar(1 0)的长度好像有问题。
如果用户输入的姓名经常超过1 0个字符怎么办?我记得上次处理类似的情况时,我将字段长度设置为3 0,这基本上就足够了。
你的表结构是过去六个月建立的,当时的测试数据量只有几千条。

等等,还有一件事,我突然想到了。
如果有人输入一个特别长的名字,比如“马超宇”,你的存储过程会崩溃吗?虽然 varchar(1 0) 会被截断,但严格来说这不是一个好的处理方法。
通常它应该返回错误或提示用户输入太长。
您是否尝试过使用此存储过程来处理很长的输入数据?
使用 exec SelectByName '马' 没有问题,但是如果用户输入“马先生”,就找不到?上次我遇到了一个要求。
客户要求支持全名模糊搜索,但数据库设计时没有考虑到这种情况。
最后,我们可以更改表结构并添加全名字段。
您的 Sheet1 表中是否有类似的辅助字段?