[ad_1]
2つのテーブルの時間属性を比較する必要があり、クエリは次のようになります
select s.sid from sal s, prod p where s.date='2008-01-10' and p.beginDate< s.date and p.endDate>s.date
どのように評価されるのか知りたいです。つまり、次のクエリと同じですか
select s.sid from sal s, prod p where s.date='2008-01-10' and p.beginDate<2008-01-10' and p.endDate>'2008-01-10'
解決策 1
使用 クエリ アナライザー SQL Server のクエリ コストとパフォーマンスを確認します。
解決策 2
はい、同じことを行う必要がありますが、SQL Server Management Studio Express で 2 つの異なるクエリ バージョンを実行するだけで、自分で判断できたはずです…
解決策 3
やあ、
日時型を比較するには 2 つの方法がありますが、時間の比較ではなく日付が必要であることがわかります。
まあ、時間が必要な場合は、この関数を使用してください CONVERT(DataType,Value,#)
ここに例
SELECT CONVERT(varchar(11),fecha_de_Emision,113), CONVERT(varchar(11),fecha_de_Emision,112) , CONVERT(varchar(11),fecha_de_Emision,110) , CONVERT(varchar(11),fecha_de_Emision,109) FROM TableOfSomeDates WHERE Date1 >=Date2
結果は、さまざまな形式のいくつかの日付です..
日付を比較したい場合は、日付が次のような正しい形式であることを確認してください MM/DD/YY
また MM/DD/YYYY
また MM/DD/YYYY HH:MM:SS
これを行う簡単な方法は、CONVERT 関数を使用することです。
CONVERT(varchar(11),fecha_de_Emision,110)
結果は ’11-09-2011′ です (時間を避けて、日付だけを残してください)
次に、DateTimeと比較できます
よろしく!!!
[Edited]コードは「pre」タグで囲まれています[/Edited]
[ad_2]
コメント