用sql语句怎么提取身份证号码中的生日信息啊
比如我数据库中有info表,身份证字段名为Number。怎么从这里面提取出出生年月日啊?身份证号码有15位和18位的。。。。请赐教 问题点数:50、回复次数:10Top
1 楼niewenmin(WinMan)回复于 2006-03-15 12:42:06 得分 0
为什么没有人知道吗?Top
2 楼byyt(KingCobra)回复于 2006-03-15 12:45:12 得分 0
用右截取Top
3 楼byyt(KingCobra)回复于 2006-03-15 12:49:17 得分 0
left(right(str,9),6)Top
4 楼iuhxq(小灰)回复于 2006-03-15 12:51:47 得分 15
SELECT CASE len(Number) WHEN 18 THEN substring(number, 7, 8)
WHEN 15 THEN '15' END AS birthday
FROM test1
类似的,自己完善一下15位的情况Top
5 楼zhurenweile(助人为乐)回复于 2006-03-15 12:59:36 得分 5
if len(number)=15 then
birthday='19'+substring(6,6)
elseif len(number)=18 then
birthday=substring(6,8)
end ifTop
6 楼yeaky()回复于 2006-03-15 13:11:47 得分 0
用mid简单点
Mid(string, [start, length])Top
7 楼zhurenweile(助人为乐)回复于 2006-03-15 13:13:28 得分 5
select sub(number,7,6) from info where len(number)=18
select '19'+ sub(number,7,6) from info where len(number)=15Top
8 楼niewenmin(WinMan)回复于 2006-03-15 13:25:19 得分 0
但是怎么应用到网页中总是出错呢???能解释一下如何应用吗???Top
9 楼yiyioo(天一(一个人的Team))回复于 2006-03-15 14:31:09 得分 20
完善小灰的
create table info(number numeric(20,0))
insert into info values(330421198210294436)
insert into info values(330421821029443)
select 'b' = case len(number) when 15 then '19' + substring(Convert(varchar(15),number),7,6)
when 18 then substring(Convert(varchar(18),number),7,8)
else 'wrong number'
end from info
drop table infoTop
10 楼yiyioo(天一(一个人的Team))回复于 2006-03-15 14:34:38 得分 5
上面的条件是number是数字型的Top




