このような日時列から時間だけの文字列表現を取得するための多くの情報を見つけることができました。
別の日時に追加するような計算を行うことができるように、日時の部分を取得する必要があります。したがって、時間の文字列表現は役に立ちません。
ただし、時間を数値型の値として抽出する例は1つしか見つかりませんでした。すなわち:
SELECT CAST(GETDATE() AS FLOAT) - FLOOR(CAST(GETDATE() AS FLOAT))
ただし、このメソッドには2 つのキャストが必要であり、これを 10,000 行以上で実行する必要があります。dateadd
日時列から日付部分を抽出する方法に似たものはありますか:
select DATEADD(dd, DATEDIFF(dd, 0, getdate()), 0)
datetime 列から時刻だけを取得し、それを 10 進数または datetime として返すために使用できますか? おそらく、より少ないキャストを使用するソリューションでしょうか?
SQL Server 2000 を使用しています。