sql7.0 日期 转换
1. select convert(char(10),aa,120)as 日期 from bb
转换后1999年变为了1899年,2000年以后的正常。
2.select 姓名,身份证号码,
convert(nvarchar,substring(身份证号码,9,4),112) as 生日
from 档案
身份证号码取月和日.我想在where中使
(nvarchar,substring(身份证号码,9,4),112) =getdate()
该如何写?
问题点数:30、回复次数:11Top
1 楼tanghuan()回复于 2000-09-27 10:27:00 得分 15
你的第一个问题属于千年问题的缺省解释:
这是因为两位年的缺省解释,我具体记不得是多少
比如是70吧,低于70如35年会认为是2000后的2035年,
高于70如89年认为是2000年前的1989年
第二个问题
substring(身份证号码,9,4)=substr(convert(char(6),getdate(),112),3,4)Top
2 楼yangzi(笨笨)回复于 2000-09-27 16:53:00 得分 15
第一个问题,我觉得你可以这样写
select convert(char,aa,112)as 日期 from bb
取回的日期格式为19990201,然后你用substring重组它的格式。
第二个问题:你可以这样写:
substring(身份证号码,9,2)=month() and substring(身份证号码,11,2)=day()
Top
3 楼yangzi(笨笨)回复于 2000-09-27 16:59:00 得分 0
第一个问题,我觉得你可以这样写
select convert(char,aa,112)as 日期 from bb
取回的日期格式为19990201,然后你用substring重组它的格式。
第二个问题:你可以这样写:
substring(身份证号码,9,2)=month() and substring(身份证号码,11,2)=day()
Top
4 楼dqj()回复于 2000-09-27 17:26:00 得分 0
yangzi:
select convert(char,aa,112)as 日期 from bb
取回的日期格式为20000201
Top
5 楼dqj()回复于 2000-09-27 17:39:00 得分 0
两位的第2题我试了,都不行。麻烦你们试一下。Top
6 楼dqj()回复于 2000-09-27 17:46:00 得分 0
yangzi:
select convert(char,aa,112)as 日期 from bb
取回的日期格式为18990201
Top
7 楼wangyhao(亦豪)回复于 2001-08-17 16:50:53 得分 0
select covert(char,aa,111) as 日期 form bb实施
Top




