2017-03-20 8 views
0

にSQLのdate型を比較す​​るために、私はISO形式のjavascriptの日付文字列を持っている、例えばどのようにJavaScriptの日付

dtStart = 2016-09-05T07:00:00.000Z 

と私はラベルDateTimeCollectedある列にSQLクエリでそれを比較したいです。 DateTimeCollectedの例は2014-06-27T00:00:00.000Zです。私はDTSTARTが文字列であるクエリで

DateTimeCollected >= ${dtStart} 

のようなものを使用して、SQLでこれらの二つの日付をcomare可能性がどのように

。私はMSsqlを使用しています。あなたはSQLで値を比較している場合、あなたは、単にこれを行うことができるはず

+0

この文字列表現をchar変数としてsqlに渡し、datetime、datetime2またはdatetimeoffsetにキャストすることができます。これは文字列形式です.Sqlサーバーは常にdatetimeに正しくキャストする必要があります。 –

+0

どのSQL型がDateTimeCollectedですか? –

+0

@Alex K. datetime – elleven

答えて

0
DateTimeCollected >= CONVERT(${dtStart}, @stringDate, 126) 
+1

これは質問に答えるかもしれませんが、いくつかの説明でそれを太くする必要があります。 –

+0

ありがとうございますが、それでも動作しません。 – elleven

0

@DateTimeStringを想定し

DateTimeCollected >= CAST(@DateTimeString As DateTime). 

には、以下の日時の値の文字列表現を含むCHAR(23)の変数でありますSQL8601形式(yyyy-mm-ddThh:mi:ss.mmm

実際には、Sqlサーバーが文字列をdatetimeデータ型に暗黙的にキャストするため、キャストなしでこれを行うこともできます。しかし、明示的なキャストを使用する方が良いと思う。

コメントに書いたように、SQL ServerはISO8601形式の文字列として渡された場合、常に正しい日付をキャストする必要があります。

関連する問題