1

私はExcelからvarcharタイプとしてプルした日付フィールドを持っており、現在次の行を使用して変換しています。

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

これは機能しますが、結果は次の形式の日付になります。

YYYY / MM / DD

他のサイトによると、行末の103形式は、このvarcharをUK形式(DD / MM / YYYY)に変換する必要があります。

なぜこれが起こらないのか誰かがアドバイスできますか?

4

1 に答える 1

1

既定では、MSSQLサーバーは日付をに格納しますYYYY/MM/DD。言語を変更できるのはサーバー全体のみであり、個々のデータベースは変更できません。

set language 'british english'

挿入する前に、これを最初に実行してください。

または別の方法はSET DATEFORMATMSDNから)を使用することです

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]

于 2012-09-11T08:55:37.070 に答える