mysql中提取身份证日期,中文加数字
时间: 2024-03-05 19:54:10 浏览: 77
mysql 不能插入中文和显示中文,不能显示中文解决办法
4星 · 用户满意度95%
您好,您可以使用MySQL的正则表达式函数来提取身份证日期中的中文和数字。例如,假设您的身份证日期数据存储在名为id_card的字段中,您可以使用以下SQL语句来提取中文和数字:
```
SELECT
id_card,
SUBSTRING(id_card, REGEXP_INSTR(id_card, '[\u4e00-\u9fa5]+'), REGEXP_INSTR(id_card, '[0-9]+') - REGEXP_INSTR(id_card, '[\u4e00-\u9fa5]+') + 1) AS chinese,
SUBSTRING(id_card, REGEXP_INSTR(id_card, '[0-9]+')) AS digits
FROM
your_table;
```
上述SQL语句中,REGEXP_INSTR函数用于查找字符串中第一个匹配指定正则表达式的位置。其中,`[\u4e00-\u9fa5]+`匹配中文字符,`[0-9]+`匹配数字。SUBSTRING函数用于提取子字符串,第一个参数为原字符串,第二个参数为子字符串起始位置,第三个参数为子字符串长度。因此,上述SQL语句中,`SUBSTRING(id_card, REGEXP_INSTR(id_card, '[\u4e00-\u9fa5]+'), REGEXP_INSTR(id_card, '[0-9]+') - REGEXP_INSTR(id_card, '[\u4e00-\u9fa5]+') + 1)`提取中文字符,`SUBSTRING(id_card, REGEXP_INSTR(id_card, '[0-9]+'))`提取数字。
阅读全文