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

相关推荐
zjttsh12 分钟前
MySQL 数据库基础
数据库·mysql·oracle
万邦科技Lafite1 小时前
淘宝店铺所有商品API接口实战指南
java·数据库·mysql
mqffc2 小时前
Mysql 驱动程序
数据库·mysql
梵得儿SHI2 小时前
Spring Cloud 实战攻坚:企业级用户服务开发(注册登录 + JWT 认证 + 权限控制)
后端·spring·spring cloud·用户注册与登录·jwt无状态认证体系·rbac权限控制·微服务用户中心
e***13623 小时前
MySQL 常用 SQL 语句大全
数据库·sql·mysql
yueyin1234563 小时前
MySQL 批量插入详解:快速提升大数据导入效率的实战方法
大数据·数据库·mysql
山岚的运维笔记4 小时前
SQL Server笔记 -- 第53章:INSERT 第54章:主键
数据库·笔记·sql·microsoft·sqlserver
SQL必知必会4 小时前
SQL 聚合函数详解:COUNT、SUM、AVG、MIN、MAX
数据库·sql
w***29854 小时前
MySQL 创建新用户及授予权限的完整流程
数据库·mysql