如何查询数据库中姓名仅含5个字符的员工列表
获取姓名仅含5个字符的员工SQL语句写法
不同数据库系统里,判断字符长度的函数略有差异,以下是常见场景的写法:
MySQL/MariaDB
用CHAR_LENGTH()统计字符数(注意区分统计字节数的LENGTH(),姓名含中文等多字节字符时必须用这个):SELECT * FROM workers WHERE CHAR_LENGTH(name) = 5;SQL Server
使用LEN()函数,它会自动忽略字符串末尾的空格:SELECT * FROM workers WHERE LEN(name) = 5;如果需要精确匹配包含末尾空格的5字符姓名,可以用
LIKE '_____'(5个下划线),或者结合DATALENGTH()(需注意编码对应的字节数)。Oracle
直接用LENGTH()函数即可:SELECT * FROM workers WHERE LENGTH(name) = 5;跨数据库通用写法
不管用什么数据库,都可以用LIKE配合下划线(单个下划线匹配任意一个字符)来精准匹配5个字符的姓名:SELECT * FROM workers WHERE name LIKE '_____';要是姓名里本身包含下划线这类通配符,就得加转义符处理,不过一般姓名不会有这种情况。
内容的提问来源于stack exchange,提问作者user20513289
相关产品推荐
相关产品推荐

