msql检索包含中文的记录

由于业务中需要检索包含中文的条目

复制代码
SELECT * FROM ptstrategy_table WHERE length(`name`)!=char_length(`name`)

这个SQL用了MySQL中字符串长度函数 LENGTH()CHAR_LENGTH() 的不同。

在 MySQL 中:

  • LENGTH() 函数返回字符串的字节数。
  • CHAR_LENGTH() 函数返回字符串的字符数。

对于大多数英文字符或数字,一个字符占用一个字节。但对于一些特殊字符,特别是中文字符,一个字符可能占用多个字节。

当一个字段包含中文时,它的 LENGTH()CHAR_LENGTH() 就会不相等,因为中文字符所占的字节数大于1。

所以,这个 SQL 语句 SELECT * FROM ptstrategy_table WHERE LENGTH(name) != CHAR_LENGTH(name) 就是在找出字段 name 中包含有多字节字符的行,从而达到了检索字段中是否含有中文的目的。

相关推荐
Coder_Boy_6 小时前
基于SpringAI的智能平台基座开发-(六)
java·数据库·人工智能·spring·langchain·langchain4j
hopsky7 小时前
ShardingSphere功能简介
数据库·sql
talenteddriver7 小时前
mysql: MySQL索引和排序相关名词概念汇总
数据库·mysql
武昌库里写JAVA7 小时前
iview-CRUD模板
vue.js·spring boot·sql·layui·课程设计
小许学java8 小时前
Spring原理
java·spring·生命周期·作用域·原理
冰冰菜的扣jio11 小时前
MySQL三大重要日志详解
数据库·mysql
哈里谢顿11 小时前
django操作mysql常见错误大全
mysql·django
男孩李11 小时前
linux下如何执行postgres数据库的sql文件
数据库·sql·postgresql
zwjapple11 小时前
MySQL SQL 面试核心考点与注意事项总结
数据库·sql·mysql
Knight_AL12 小时前
Spring AOP 中 JoinPoint 使用指南
java·python·spring