【解決方法】SQLクエリの実行


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]

コメント

タイトルとURLをコピーしました