2012-09-11 55 views
1

我有一個日期字段我拉從Excel作爲一個varchar類型,我目前正在使用這條線將其轉換時:SQL格式問題轉化爲varchar迄今103

convert(date,[Appt Date],103) as [Appt date] 

這個工作,但結果是一個日期按以下格式:

YYYY/MM/DD

據其他網站在該行的末尾103格式應此VARCHAR轉換爲英國格式(DD/MM/YYYY)。

任何人都可以告訴爲什麼這不會發生?

回答

1

默認情況下,MSSQL服務器存儲日期爲YYYY/MM/DD。您只能在整個服務器上更改語言,而不是單個數據庫。

set language 'british english' 

插入前先運行這個。

或另一個替代方案是使用SET DATEFORMAT從MSDN

declare @dates table (orig varchar(50) ,parsed datetime) 

SET DATEFORMAT ydm; 

insert into @dates 
select '2008-09-01','2008-09-01' 

SET DATEFORMAT ymd; 
insert into @dates 
select '2008-09-01','2008-09-01' 

select * from @dates 

它應該是不 VARCHAR DATE

SELECT convert(VARCHAR(20),[Appt Date],103) as [Appt date] 

+0

完美謝謝!我刪除了轉換部分並按照你所說的設置了語言。 – Steve