#字符串格式化为日期格式
SELECT
DATE_FORMAT(
'19841201'
,
'%Y-%m-%d'
)
#
SELECT
TIMESTAMPDIFF(
YEAR
,DATE_FORMAT(
'19841201'
,
'%Y-%m-%d'
),CURDATE());
#截取身份证号中的年月日
SELECT
SUBSTR(
'152824197810116015'
,7,8);
SELECT
SUBSTR(
'152824781011601'
,7,6)
#连接字符串
SELECT
CONCAT(
'33'
,
'22'
)
#截取身份证号中的年月日 1
SELECT
IF (LENGTH(
'152824197810116015'
)=18,
SUBSTR(
'152824197810116015'
,7,8),
CONCAT(
'19'
,SUBSTR(
'152824197810116015'
,7,6))
);
#截取身份证号中的年月日 2
SELECT
IF (LENGTH(
'152824781011601'
)=18,
SUBSTR(
'152824781011601'
,7,8),
CONCAT(
'19'
,SUBSTR(
'152824781011601'
,7,6))
);
#根据身份证号计算年龄
SELECT
TIMESTAMPDIFF(
YEAR
,
DATE_FORMAT( IF (LENGTH(
'152824781011601'
)=18,
SUBSTR(
'152824781011601'
,7,8),
CONCAT(
'19'
,SUBSTR(
'152824781011601'
,7,6))
),
'%Y-%m-%d'
),
CURDATE());