別のシステムからデータをインポートしていますが、日時は次の形式の文字列として保存されます。
20061105084755ES
yyyymmddhhmmss(es/ed)
はes
EST で、ed
は EDT です。
このテーブルを過去 30 日間クエリする必要があります。私は変換クエリを使用しています:
select convert(
datetime,
left(cdts, 4)+'-'+substring(cdts, 5,2)+'-'substring(cdts, 7,2)+' '+substring(cdts, 9,2) +':'+substring(cdts, 11,2)+':'+substring(cdts, 13,2)
as dt
from tb1
where dt < getdate()-30
かかる時間を短縮する、より効率的なクエリを探しています。このテーブルには約 9,000 万件のレコードがあり、クエリは永久に実行されます。