SQLServerデータベースにロードされるクライアント提供のファイルがあります。このファイルにはテキストベースの日付値、つまり(05102010)が含まれており、db列からそれらを読み取り、クリーンアップの一部として通常の日時値= '2010-05-10 00:00:00.000'に変換する必要があります。処理する。
任意のガイダンスをいただければ幸いです。
SQLServerデータベースにロードされるクライアント提供のファイルがあります。このファイルにはテキストベースの日付値、つまり(05102010)が含まれており、db列からそれらを読み取り、クリーンアップの一部として通常の日時値= '2010-05-10 00:00:00.000'に変換する必要があります。処理する。
任意のガイダンスをいただければ幸いです。
one way by using
CONVERT(datetime,RIGHT(Column,4) + left(Column,4))
example
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
出力:
ProperDateTime
-----------------------
2010-05-10 00:00:00.000
2010-03-18 00:00:00.000
(2 row(s) affected)
    Quick and dirty:
SELECT
    CONVERT(DATETIME,
        SUBSTRING(col, 1, 2)
        + '/' + SUBSTRING(col, 3, 2)
        + '/' + SUBSTRING(col, 5, 4))