2017-10-06 7 views
0

私は、私は24時間営業の日時にこれを変換することができますどのように(つまり、SQLサーバーDATETIME)YYYYMMDDHHTT時間形式で日付を持っている変換日時

例:201710031035AM

希望:2017-10-03 10:35:00.000

+0

あなたは何をしようとしているのかについていくつかの文脈を提供できますか?あなたが試したことの例と、あなたが見ているエラーや間違った結果は、他の人があなたを助けてくれるように遠くに行くでしょう。 –

答えて

1

私は別れとSQLは、日付文字列

SELECT CONVERT(datetime, CONCAT(
    SUBSTRING(oldFormat, 5, 2), ' ', 
    SUBSTRING(oldFormat, 7, 2), ' ', 
    SUBSTRING(oldFormat, 1, 4), ' ', 
    SUBSTRING(oldFormat, 9, 2), ':', 
    SUBSTRING(oldFormat, 11, 4) 
), 100) 
として認識できるように、古い文字列形式を連結します

100は日時フォーマット 'mon dd yyyy hh:miAM(またはPM)'です。または、datetime部分を分割してから、DATETIMEFROMPARTS関数をintとして渡すこともできます。すべての古い値が一貫して最初に整形されていることを確認してください!

+0

これは私が念頭に置いていたことです。ちょうどもっと雄弁な解決策があることを望むだけです。 – TomNash

+0

SQL Serverが認識する文字列形式はかなり限定されています。https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql – zambonee

+0

DATETIMEFROMPARTS – TomNash