1

C#Datetimeを同等のSQL DATE型に変換して、パラメータ化せずにWHERE句で単純な等式を実行するにはどうすればよいですか?

4

4 に答える 4

4

単純にISO文字列に変換します。

日時

YourDateTime.ToString("yyyy-MM-ddTHH\:mm\:ss.fffffffzzz");

日付のみ

YourDateTime.ToString("yyyy-MM-dd");

ただし、T-SQLクエリが異なるたびに新しいSQL実行プランが生成されるため、パラメータ化されたクエリを使用することを強くお勧めします。

パラメータを使用する場合、1つのプランのみを取得します。これにより、パフォーマンスが向上します。

詳しくは

于 2012-04-19T12:07:16.397 に答える
2
yourDateTime.toString("yyyy-MM-dd HH:mm:ss");

しかし、パラメータを使用する方が良いでしょう

于 2012-04-19T12:07:51.327 に答える
1

構造について話している場合は、次の 型SqlDateTimeの値を受け入れるコンストラクターを使用できます。DateTime

MSDNを参照してください:SqlDateTimeコンストラクター(DateTime)

于 2012-04-19T12:08:29.327 に答える
1

他の答えはあなたの質問を本当に理解していなかったと思います(または私は理解していませんでした)

DateTime私が集めたものから、C#からSQLDateタイプ(SQL日時ではありません!)に変換する方法を尋ねています。他のすべての回答には、回答に時間が含まれていました。

それが本当なら、あなたはそれについて全く心配する必要はありません。SQLDateは.NETと完全に互換性があるDateTimeため、プロシージャに渡すだけで時間部分が削除され、日付が正しく渡されます。

于 2012-04-19T12:19:37.623 に答える