私はExcelからvarcharタイプとしてプルした日付フィールドを持っており、現在次の行を使用して変換しています。
convert(date,[Appt Date],103) as [Appt date]
これは機能しますが、結果は次の形式の日付になります。
YYYY / MM / DD
他のサイトによると、行末の103形式は、このvarcharをUK形式(DD / MM / YYYY)に変換する必要があります。
なぜこれが起こらないのか誰かがアドバイスできますか?
私はExcelからvarcharタイプとしてプルした日付フィールドを持っており、現在次の行を使用して変換しています。
convert(date,[Appt Date],103) as [Appt date]
これは機能しますが、結果は次の形式の日付になります。
YYYY / MM / DD
他のサイトによると、行末の103形式は、このvarcharをUK形式(DD / MM / YYYY)に変換する必要があります。
なぜこれが起こらないのか誰かがアドバイスできますか?
既定では、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]