1

私は現在、少し奇妙な関係のレイアウトを扱っています。リレーションにはいくつかのフィールドが含まれ、そのうちの2つはdatetimeAとdatetimeBが日時値を保持するために使用されます。

なぜこのように設定されたのかわかりませんが、datetimeAはすべての時刻コンポーネントが00:00:00.0の日付コンポーネントを格納するために使用され、datetimeBはすべての日付コンポーネントの時刻コンポーネントが1970として格納されるために使用されます-01-01。

このテーブルを使用する単純なレポートインターフェイスを作成しています。datetimeAから日付を抽出し、datetimeBから時刻を抽出して、それらを新しい日時に結合する必要があります。可能であれば、データベースに対して実行されるクエリでこれを実行したいと思います。

理想的な解決策は、datepart関数に似ていますが、「date」と「time」の部分があるものです。

4

1 に答える 1

2

これはSQLServerTSQLですが、日付関数は両方の製品でほぼ同じように見えます。Sybaseが日付リテラルをどのように処理するかわからないため、この例を機能させるには、日付リテラルを変更する必要があるかもしれません。

declare 
    @date datetime = '2013-02-15T00:00:00', 
    @time datetime = '1970-01-01T15:15:15'

select dateadd(ss, datediff(ss, '19700101', @time), @date)
于 2013-02-15T20:46:23.730 に答える