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 中包含有多字节字符的行,从而达到了检索字段中是否含有中文的目的。

相关推荐
微微%6 小时前
mysql的安装和使用
数据库·mysql·mysql8安装
泡海椒8 小时前
# 深度解析JQuick-SQL Join重排序与哈希连接执行机制
数据库·sql·哈希算法
小溪学编程9 小时前
Spring @Bean 与 @Component 注解的区别详解
java·后端·spring
十年程序梦10 小时前
2026最新国内省市区县表,mysql表格
mysql
Random Glow11 小时前
二级索引与回表:一次回表到底多贵
数据库·mysql·性能优化·innodb·索引
Brilliantwxx12 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
hyunbar77712 小时前
华为云 GaussDB(DWS) 和 PG 的谓词下推有何差异
sql
郭小李12 小时前
spring @PathVariable 注解用法
java·后端·spring
jaysee-sjc13 小时前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel
MetaLite13 小时前
Spring 同一个类里调用 @CacheEvict,为什么缓存没清掉?
java·spring·缓存