MySQLは身分証明書に基づいて省の年齢性別を取得します
1383 ワード
MYSQLは身分証明書に基づいて省の年齢性別を取得する SQL文 身分証明書に基づいて年齢を取得し、6歳以上のsql を取得する
SQL文
`select case left(id_card,2)when‘11’then‘北京市’when‘12’then‘天津市’when‘13’then‘河北省’when‘14’then‘山西省’when‘15’then‘内蒙古自治区’when‘21’then‘遼寧省’when‘22’then‘吉林省’when‘23’then‘黒竜江省’when‘31’then‘上海市’when‘32’then「江蘇省」when「33」then「浙江省」when「34」then「安徽省」when「35」then「福建省」when「36」then「江西省」when「37」then「山東省」when「41」then「河南省」when「42」then「湖北省」when「43」then「湖南省」when「44」then「広東省」when「45」then「広西チワン族自治区」when「46」then「海南省」when「50」then「重慶市」when「51」then「四川省」when「52」then「貴州省」when「53」then「雲南省」when「54」then「チベット自治区」when「61」then「陝西省」when「62」then「甘粛省」when「63」then「青海省」「64」then「寧夏回族自治区」when「65」then「新疆ウイグル自治区」when「71」then「台湾省」when「81」then「香港特別行政区」when「82」then「マカオ特別行政区」else「未知」end as省、
year(curdate()−if(length(id_card)=18,substring(id_card,7,4),if(length(id_card)=15,concat(‘19’,substring(id_card,7,2))as年齢,
case if(length(id_card)=18,cast(substring(id_card,17,1)as UNSIGNED)%2,if(length(id_card)=15,cast(substring(id_card,15,1)as UNSIGNED)%2,3))when 1 then‘男性’when 0 then‘女性’else‘未知’endas性別
FROM
身分証明書に基づいて年齢を取得し、6歳以上のsqlを取得する
SQL文
`select case left(id_card,2)when‘11’then‘北京市’when‘12’then‘天津市’when‘13’then‘河北省’when‘14’then‘山西省’when‘15’then‘内蒙古自治区’when‘21’then‘遼寧省’when‘22’then‘吉林省’when‘23’then‘黒竜江省’when‘31’then‘上海市’when‘32’then「江蘇省」when「33」then「浙江省」when「34」then「安徽省」when「35」then「福建省」when「36」then「江西省」when「37」then「山東省」when「41」then「河南省」when「42」then「湖北省」when「43」then「湖南省」when「44」then「広東省」when「45」then「広西チワン族自治区」when「46」then「海南省」when「50」then「重慶市」when「51」then「四川省」when「52」then「貴州省」when「53」then「雲南省」when「54」then「チベット自治区」when「61」then「陝西省」when「62」then「甘粛省」when「63」then「青海省」「64」then「寧夏回族自治区」when「65」then「新疆ウイグル自治区」when「71」then「台湾省」when「81」then「香港特別行政区」when「82」then「マカオ特別行政区」else「未知」end as省、
year(curdate()−if(length(id_card)=18,substring(id_card,7,4),if(length(id_card)=15,concat(‘19’,substring(id_card,7,2))as年齢,
case if(length(id_card)=18,cast(substring(id_card,17,1)as UNSIGNED)%2,if(length(id_card)=15,cast(substring(id_card,15,1)as UNSIGNED)%2,3))when 1 then‘男性’when 0 then‘女性’else‘未知’endas性別
FROM
user
身分証明書に基づいて年齢を取得し、6歳以上のsqlを取得する
SELECT
*
FROM
USER
WHERE
YEAR ( curdate( ) ) -
IF
(
length( a.id_card ) = 18,
substring( a.id_card, 7, 4 ),
IF
(
length( a.id_card ) = 15,
concat( '19', substring( a.id_card, 7, 2 ) ),
NULL
)
) >6