2

更新:これ(4/14/2012 2:44:01 PM) を試した後もこの結果が得られます

 select convert(varchar(30), '4/14/2012 2:44:01 PM',121) 

更新終了

この結果セットを取得するには、どの形式を使用する必要がありますか:

2012-04-14 14:44:01.683

これを使用してみましたが、マイクロ/ミリ秒が表示されません

select convert(varchar(23), '4/14/2012 2:44:01 PM',120)

この結果が得られます:

4/14/2012 2:44:01 PM
4

3 に答える 3

4

あなたは非常に親密です-MSDNBooksOnlineのCASTとCONVERTの章では、正しい答えを1行見逃しています....スタイル番号を使用できます。121(ODBC正規(ミリ秒))を使用して、探している結果を取得します。

SELECT CONVERT(VARCHAR(30), GETDATE(), 121)

これにより、次の出力が得られます。

2012-04-14 21:44:03.793

更新:更新された質問に基づいて-もちろんこれは機能しません-文字列(これ'4/14/2012 2:44:01 PM'単なる文字列です-日時ではありません!)を文字列に変換しています......

最初に必要な文字列をに変換してからDATETIME、文字列に戻す必要があります

これを試して:

SELECT CONVERT(VARCHAR(30), CAST('4/14/2012 2:44:01 PM' AS DATETIME), 121) 

今、あなたは得るべきです:

2012-04-14 14:44:01.000

元の値には...が含まれていなかったため、明らかに、ミリ秒のすべてのゼロ。

于 2012-04-14T19:42:39.243 に答える
2

以下のように、日付文字列を日時形式に変換します

select convert(varchar(23), convert(datetime,'4/14/2012 2:44:01 PM'),120)
于 2012-10-20T05:15:51.913 に答える
1
select convert(varchar(30), CAST('4/14/2012 2:44:01 PM' As DATETIME),121)
于 2012-04-15T05:17:42.067 に答える