sql - 从搜索关键字过滤 SQL
问题描述
我有一个表学生。如果我使用关键字“ann”过滤学生,那么第一个首选项应该是学生姓名以“ann”开头,然后学生姓名在 SQL Server 中包含“ann”。
解决方案
采用LIKE
SELECT * FROM TABLE WHERE NAME LIKE 'ann%' OR NAME LIKE '%ann%'
ORDER BY CASE
WHEN Name LIKE 'ann%' THEN 1
WHEN Name LIKE '%ann%' THEN 2
ELSE 3
END
推荐阅读
- c++ - 通过 shared_ptr 的 unordered_set 中的等效键查找
- python - Pandas 检查所需列是否有数据
- mysql - 将 SSL 设置为 MYSQL 数据库的域名
- python-3.x - 如何在 tkinter 中并排放置按钮并在小部件顶部填充 Y
- python - 内存泄漏调试 - 在 Heroku 上运行的 Python 脚本
- excel - 在第 256 列后使用 xlToLeft 设置范围失败
- flutter - 热重载和热重启在vivo z1 pro中不起作用?
- asp.net-mvc - asp.net core mvc,在使用自定义位置格式时找到正确的 _layout 位置
- windows-subsystem-for-linux - 在 wsl 上模拟 pmem
- asp.net-core - NuGet 包中的 Net Core 依赖注入