[解決済み] あるフィールドの日付と別のフィールドの時刻を結合する方法 - MS SQL Server
2022-04-07 06:25:29
質問
私が扱っているエキスでは、2つの
datetime
カラムがあります。1つのカラムには日付が、もう1つのカラムには時刻が、このように格納されます。
これらの2つのフィールドを1つのカラムにまとめるには、どのようにテーブルをクエリすればよいのでしょうか。
datetime
?
日付
2009-03-12 00:00:00.000
2009-03-26 00:00:00.000
2009-03-26 00:00:00.000
時代
1899-12-30 12:30:00.000
1899-12-30 10:00:00.000
1899-12-30 10:00:00.000
解決方法は?
単純に2つを足せばいいのです。
-
もし
を
Time part
のDate
カラムは常に0です -
そして
その
Date part
のTime
カラムも常に0です (基準日: 1900年1月1日)
それらを足すと正しい結果が返ってきます。
SELECT Combined = MyDate + MyTime FROM MyTable
理由 (ErikE/dnolanに感謝)
<ブロッククオート
日付が2つの4バイトで格納されているため、このように動作します。
Integers
で、左の4バイトは
date
と右の
4バイトは
time
. それはまるで
$0001 0000 + $0000 0001 =
$0001 0001
SQL Server 2008 の新しいタイプに関する編集
Date
と
Time
で紹介した型です。
SQL Server 2008
. どうしても追加したい場合は
Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
SQL Server 2008 以降の精度の低下に関する編集2 (マーティン・スミス氏に感謝)
をご覧ください。 SQL Server で日付と時刻を datetime2 に結合する方法は? SQL Server 2008以降で精度が落ちないようにするため。
関連
-
[解決済み] 2つの列を分割するには?
-
[解決済み] SQLクエリで2つの列から値を引き算する
-
[解決済み] Oracle(LiveSQL)のSQL [重複]について
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PL/SQL SELECTに複数のCOUNT(DISTINCT xxx)を指定すると、予期しない結果になる。
-
[解決済み】SQLが単一グループのグループ関数でないこと
-
[解決済み】Teradata - 計算中に数値のオーバーフローが発生しました。
-
[解決済み】sys.dm_exec_sql_textはどのように機能するのでしょうか?
-
[解決済み] ORA-01790: 式は、対応する式と同じデータ型でなければならないエラーが発生するケース
-
[解決済み] リンクされたサーバーの NULL に対して OLE DB プロバイダー Microsoft.Jet.OLEDB.4.0 のインスタンスを作成できません。
-
[解決済み] varchar 値の変換で int カラムがオーバーフローしました。
-
[解決済み] 検索エラー ORA-00932: 不整合なデータ型: 期待された DATE は NUMBER になりました。
-
[解決済み] ORA-00997: LONG データタイプの不正使用に対する回避策
-
[解決済み] Oracle Trigger ORA-04098: トリガーが無効で、再バリデーションに失敗しました。