sql语句用substr截取身份证
时间: 2024-09-20 10:05:15 浏览: 46
SQL的SUBSTR()函数使用介绍
在SQL中,`SUBSTRING` 或 `SUBSTR` 函数通常用于从字符串中提取指定长度的部分,但请注意,不是所有数据库系统都支持这个函数。对于需要截取身份证号码的情况,中国常用的身份证号码由18位数字组成,分为前6位区域码、第7到14位出生日期、最后4位校验码。
如果你是在MySQL中,可以这样截取:
```sql
SELECT SUBSTRING(身份证字段, 1, 6) AS 区域码,
SUBSTRING(身份证字段, 7, 8) AS 出生日期,
SUBSTRING(身份证字段, 17, 4) AS 校验码
FROM 表名;
```
如果在Oracle中,则使用:
```sql
SELECT TRIM(BOTH ' ' FROM (SUBSTR(身份证字段, 1, 6) || '-' ||
TRUNC(SUBSTR(身份证字段, 7, 8)) || '-' ||
SUBSTR(身份证字段, 11, 4))) AS 身份证信息
FROM 表名;
```
这里假设身份证字段名称为`身份证字段`,并且已经转换为合适的数据类型处理。注意SQL语句的具体格式可能会因数据库的不同而有所差异。
阅读全文