質問

私は、私たちのSQL Serverデータベースにロードされているクライアント付属のファイルを持っています。クリーンアップの一環として、このファイルには、すなわち(05102010)と私は、DBの列からそれらを読んで、通常の日付時刻値=「00.000:00 2010-05-10 00」にそれらを変換する必要があり、テキストベースの日付値が含まれていますプロセス。

任意の指導をいただければ幸いです。

役に立ちましたか?

解決

を使用して、

片道

CONVERT(datetime,RIGHT(Column,4) + left(Column,4))

declare @s char(8)
select  @s = '05102010'
select CONVERT(datetime,RIGHT(@s,4) + left(@s,4))

他のヒント

試します:

SELECT 
    CONVERT(datetime,  RIGHT(YourColumn,4)
                       +LEFT(YourColumn,4)
           ) AS ProperDateTime
    FROM...

作業例:

DECLARE @YourTable table (StringDate char(8))
INSERT @YourTable VALUES ('05102010')
INSERT @YourTable VALUES ('03182010')

SELECT 
    CONVERT(datetime,  RIGHT(StringDate,4)
                       +LEFT(StringDate,4)
           ) AS ProperDateTime
    FROM @YourTable

OUTPUTます:

ProperDateTime
-----------------------
2010-05-10 00:00:00.000
2010-03-18 00:00:00.000

(2 row(s) affected)

クイックと汚います:

SELECT
    CONVERT(DATETIME,
        SUBSTRING(col, 1, 2)
        + '/' + SUBSTRING(col, 3, 2)
        + '/' + SUBSTRING(col, 5, 4))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top