一张表 : 姓名 地址 身份证 性别
老陈 南昌市西湖区北京西路XXX号 360104198708183823 男
我需要他成为 一个这样的表 姓名 年龄段 市 区 性别其中 年龄段是这样分的 1:18岁以下 2:18-24 3: 25-35 4:35以上
性别 1: 男 2:女
这张表就需要 以上条件 成为:
老陈 2 南昌市 西湖区 1
这样的表该如何处理 谢谢各位了 越详细越好!
老陈 南昌市西湖区北京西路XXX号 360104198708183823 男
我需要他成为 一个这样的表 姓名 年龄段 市 区 性别其中 年龄段是这样分的 1:18岁以下 2:18-24 3: 25-35 4:35以上
性别 1: 男 2:女
这张表就需要 以上条件 成为:
老陈 2 南昌市 西湖区 1
这样的表该如何处理 谢谢各位了 越详细越好!
可以用 If(性别='男',1,2)年龄段
可以用 internval( 年龄,0,18,25,35)南昌市 西湖区
你可以看看能不能找到一份公安系统的身份证前6,或者前4位的对照表。
身份证号码前六位所代表的省,市,区, 以及地区编码下载如果你已经有和身份证号码,则可以在GOOGLE找一下 身份证号码 地区代码
老陈 南昌市西湖区北京西路XXX号 360104198708183823 男
我需要他成为 一个这样的表 姓名 年龄段 市 区 性别 其中 年龄段是这样分的 1:18岁以下 2:18-24 3: 25-35 4:35以上
性别 1: 男 2:女
--------------------------------
姓名 直接查询 年龄段你可以单独建一个表 flag floordate ceildate
对于年龄的查询也可以
mysql> select substring(right(130681198701254965,12),1,8);
+---------------------------------------------+
| substring(right(130681198701254965,12),1,8) |
+---------------------------------------------+
| 19870125 |
+---------------------------------------------+
1 row in set (0.02 sec)
对于市区就截取字符串
mysql> select substring("aaSbbQ",1,instr('aasbbQ','S'));
+-------------------------------------------+
| substring("aaSbbQ",1,instr('aasbbQ','S')) |
+-------------------------------------------+
| aaS |
+-------------------------------------------+
1 row in set (0.03 sec)
mysql> select substring("aaSbbQ",instr('aasbbQ','S')+1,instr('aasbbQ','Q'));
+---------------------------------------------------------------+
| substring("aaSbbQ",instr('aasbbQ','S')+1,instr('aasbbQ','Q')) |
+---------------------------------------------------------------+
| bbQ |
+---------------------------------------------------------------+
1 row in set (0.00 sec)
老陈 南昌市西湖区北京西路XXX号 360104198708183823 男
我需要他成为 一个这样的表 姓名 年龄段 市 区 性别 其中 年龄段是这样分的 1:18岁以下 2:18-24 3: 25-35 4:35以上
性别 1: 男 2:女
--------------------------------
姓名 直接查询 年龄段你可以单独建一个表 flag floordate ceildate
对于年龄的查询也可以
SQL codemysql> select substring(right(130681198701254965,12),1,8);
+---------------------------------------------+
| substring(right(130681198701254965,12),1,8) |
+---------------------------------------------+
| 19870125 |
+---------------------------------------------+
1 row in set (0.02 sec)对于市区就截取字符串 不明白这是什么意思,最好能详细点, 那个年龄段也能举个例子么?
1
-> when year(now())-substring('360104198708183823',7,4) between 18 and 24 t
hen 2
-> when year(now())-substring('360104198708183823',7,4) between 25 and 35 t
hen 3
-> else 4 end as `年龄段`;
+--------+
| 年龄段 |
+--------+
| 2 |
+--------+
1 row in set (0.03 sec)mysql>