• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 如何在 MySQL 中判断中文字符?

如何在 MySQL 中判断中文字符?

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL ,中文字符等相关知识,希望本文的分享对您有所帮助
原文出处: 温国兵 欢迎分享原创到伯乐头条

一 引子

在生产环境中,经常会有这样的场景:获得中文数据。那问题就来了,怎么才能匹配出中文字符呢?

本文提供两种方法。

二 演示

2.1 环境


mysql> SHOW VARIABLES LIKE "%version%";

+-------------------------+------------------------------+

| Variable_name | Value |

+-------------------------+------------------------------+

| protocol_version | 10 |

| version | 5.1.73 |

| version_comment | MySQL Community Server (GPL) |

| version_compile_machine | i386 |

| version_compile_os | apple-darwin10.3.0 |

+-------------------------+------------------------------+

5 rows in set (0.00 sec)

2.2 创建测试表和插入测试数据

mysql -S /tmp/mysql_5173.sock -uroot -proot

创建测试表和插入测试数据。

mysql> USE test;

Database changed

mysql> CREATE TABLE user

-> (name VARCHAR(20)

-> ) DEFAULT CHARSET = utf8 ENGINE = INNODB;

Query OK, 0 rows affected (0.10 sec)

mysql> SHOW TABLE STATUS LIKE 'user' G;

*************************** 1. row ***************************

Name: user

Engine: InnoDB

Version: 10

Row_format: Compact

Rows: 2

Avg_row_length: 8192

Data_length: 16384

Max_data_length: 0

Index_length: 0

Data_free: 0

Auto_increment: NULL

Create_time: 2015-01-16 18:01:36

Update_time: NULL

Check_time: NULL

Collation: utf8_general_ci

Checksum: NULL

Create_options:

Comment:

1 row in set (0.00 sec)

ERROR:

No query specified

mysql> INSERT INTO user VALUES('robin');

Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO user VALUES('温国兵');

Query OK, 1 row affected (0.00 sec)

三 实现

3.1 方法一 正则表达式

mysql> SELECT * FROM user G;

*************************** 1. row ***************************

name: robin

*************************** 2. row ***************************

name: 温国兵

2 rows in set (0.00 sec)

mysql> SELECT name,

-> CASE name REGEXP "[u0391-uFFE5]"

-> WHEN 1 THEN "不是中文字符"

-> ELSE "是中文字符"

-> END AS "判断是否是中文字符"

-> FROM user;

+-----------+-----------------------------+

| name | 判断是否是中文字符 |

+-----------+-----------------------------+

| robin | 不是中文字符 |

| 温国兵 | 是中文字符 |

+-----------+-----------------------------+

2 rows in set (0.00 sec)

mysql> SELECT name FROM user WHERE NOT (name REGEXP "[u0391-uFFE5]");

+-----------+

| name |

+-----------+

| 温国兵 |

+-----------+

1 rowinset(0.00 sec)


3.2 方法二 length() 和 char_length()

mysql> SELECT name, length(name), char_length(name) FROM user;

+-----------+--------------+-------------------+

| name | length(name) | char_length(name) |

+-----------+--------------+-------------------+

| robin | 5 | 5 |

| 温国兵 | 20 | 9 |

+-----------+--------------+-------------------+

2 rows in set (0.00 sec)

mysql> SELECT name FROM user WHERE length(name) char_length(name);

+-----------+

| name |

+-----------+

| 温国兵 |

+-----------+

1 rowinset(0.00 sec)

以上就是如何在 MySQL 中判断中文字符?的内容,更多相关内容请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySQL essential版本和普通版本有什么区别?
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 解析远程连接管理其他机器上的MYSQL数据库
  • MySQL timestamp自动更新时间分享
  • MySQL Order by 语句用法与优化详解
  • 深入解析mysql中order by与group by的顺序问题
  • 解析mysql不重复字段值求和
  • MySql实现跨表查询的方法详解

相关文章

  • 2017-05-11MySQL数据库存储引擎和分支现状分析
  • 2018-12-05PDO操作MySQL基础教程
  • 2017-05-11MySql常用操作SQL语句汇总
  • 2017-05-11Mysql 日期时间 DATE_FORMAT(date,format)
  • 2018-12-05Mysql的游标的定义使用及关闭深入分析
  • 2017-05-11MySQL对limit查询语句的优化方法
  • 2018-12-05Mac OS10.11下mysql5.7.12 安装配置图文教程步骤
  • 2018-12-05常用的几个mysql监控脚本命令
  • 2018-12-05详细mysql 协议的ping命令包及解析
  • 2018-12-05【mysql教程】MySQL 元数据

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 找回SQL企业管理器里的SQL连接的密码的方法
    • MySQL 查询结果取交集的实现方法
    • Mysql启动中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的问题
    • mysql5.7.18在mac os10.12下安装教程步骤
    • MySQL无法启动几种常见问题小结
    • mysql锁定单个表的方法
    • 使用docker搭建mysql实例教程
    • MySQL 添加、修改、删除表的列及约束等表的定义
    • mysql数据库根据datetime数据查询某一时间区间的数据数量
    • mysql-5.7.12解压版安装步骤教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有