0

表在 BirthDate 列中包含许多带有回历日期值和公历值的记录,所以请如何通过将回历日期转换为公历日期的值来更新 Birthdate,谢谢我尝试了这个脚本,但它不起作用 - 我的意思是没有改变 - 虽然我得到了

(18422 行受影响)

UPDATE MEMBER
SET BIRTHDATE = case when (SUBSTRING(cast(birthdate as nvarchar), 1, 2) ='14') 
or 
(SUBSTRING(cast(birthdate as nvarchar), 1, 2) ='13')
then 
(SELECT CONVERT(date, birthdate , 131) ) 
else
 birthdate
 end
4

1 回答 1

0

试试下面的代码,它将生日列记录转换为回历格式:

update MEMBER set BIRTHDATE = CONVERT(VARCHAR(100),birthdate,131) --- [回历日期到公历日期]

update MEMBER set BIRTHDATE = CONVERT(datetime,birthdate,131) --- [公历日期到回历日期]

有几个关于这个的博客,比如这个:http: //blogs.msdn.com/b/wael/archive/2007/04/29/sql-server-hijri-hijra-dates.aspx

于 2015-09-30T05:34:18.903 回答