ホームページ >データベース >mysql チュートリアル >予期しない結果を避けるために、SQL Server で日付を正しくクエリするにはどうすればよいですか?

予期しない結果を避けるために、SQL Server で日付を正しくクエリするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-01 11:46:11232ブラウズ

How Can I Correctly Query Dates in SQL Server to Avoid Unexpected Results?

SQL Server クエリでの日付の使用

SQL Server では、日付をクエリするときにデータ型を考慮することが重要です。 2010-04-01 以上のすべての日付を検索しようとしたクエリは、2010-4-01 を数式として使用し、基本的に 2005 として扱ったため、失敗しました。

適切にクエリするには日付の場合は、日付を日時データ型に変換し、一重引用符を使用する必要があります。修正されたクエリは次のとおりです。

select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01')

文字列 '2010-04-01' を日時値に変換すると、SQL Server はそれをテーブル内の日時データ型と正確に比較できます。

あるいは、次の構文を使用することもできます。これにより、文字列が暗黙的に次のように変換されます。 datetime:

select *
from dbo.March2010 A
where A.Date >= '2010-04-01'

ただし、一般的には、明確さと保守性のために明示的な CONVERT 関数を使用することをお勧めします。

SQL Server で日付をクエリするときは、必ずデータ型を考慮してください。予期しない結果を避けるために適切な変換関数を使用してください。

以上が予期しない結果を避けるために、SQL Server で日付を正しくクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。