0

特定の文化 (特にスペイン語) に問題があり、日付文字列 ToShortDateString() が dd/mm/yyyy として表示される

where END_DATE between '" + asOfDate.AddDays(-30).ToShortDateString() + "' and '" +

これは、次のような誤った日付リテラル文字列を取得するため、SQL サーバー エラーを引き起こしています。

where END_DATE between '17/05/2015' and '16/06/2015' 

SQL ステートメントを作成している場合に、日付形式を強制的に mm/dd/yyyy にする最善の方法は何ですか?

4

2 に答える 2

1

答えは、任意の形式を使用する場合は、 yyyy-MM-dd.

where END_DATE between '" + asOfDate.AddDays(-30).ToString("yyyy-MM-dd") + "' and

ただし、はるかに重要な点は、文字列の連結ではなく、パラメーター化されたクエリを使用することです。これを行う場合、日付は日付であり、形式は関係ありません。

于 2015-06-16T16:29:03.127 に答える
-1

あなたが使用することができます:

asOfDate.AddDays(-30).ToString("MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)

(大文字の MM に注意してください)

于 2015-06-16T16:37:26.820 に答える