ホームページ > データベース > mysql チュートリアル > MS SQL Server で別々の日付フィールドと時刻フィールドを単一の DateTime 列に結合するにはどうすればよいですか?

MS SQL Server で別々の日付フィールドと時刻フィールドを単一の DateTime 列に結合するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-17 17:11:09
オリジナル
762 人が閲覧しました

How Can I Combine Separate Date and Time Fields into a Single DateTime Column in MS SQL Server?

MS SQL Server での日付と時刻の列のマージ

データ抽出では、日付と時刻が別の列に表示されることがあります。 この記事では、これらを MS SQL Server 内の単一の日時列に効率的に結合する方法を説明します。

解決策:

簡単な方法では、日付と時刻のフィールドを直接追加します。 ただし、これには 2 つの重要な前提条件が必要です。

  1. date 列の時間コンポーネントは常に午前 0 時 (00:00:00) である必要があります。
  2. time 列の日付コンポーネントは基準日 (1900 年 1 月 1 日) である必要があります。

これらの条件が満たされる場合、次の SQL クエリはデータを正常にマージします。

<code class="language-sql">SELECT CombinedDateTime = MyDate + MyTime FROM MyTable;</code>
ログイン後にコピー

説明:

これは、datetime データ型の内部表現により機能します。 2 つの 4 バイト整数を使用します。 1 つは日付用、もう 1 つは時刻用です。 これらを直接追加すると、正しく結合された日時値が生成されます。

重要な注意事項:

  • SQL Server 2008 以降: 個別の date および time データ型 (SQL Server 2008 以降で利用可能) を使用する場合は、追加する前に両方のフィールドを datetime に明示的にキャストします: CAST(MyDate AS DATETIME) CAST(MyTime AS DATETIME) .
  • 精度の損失: SQL Server 2008 以降では、datetimetime を追加すると精度の損失が発生する可能性があります。 精度を維持するソリューションについては、[関連ドキュメント/記事](link_to_relevant_article_or_documentation_here - 可能な場合は実際のリンクに置き換えてください)を参照してください。 これには、より詳細な制御のために DATETIMEFROMPARTS などの関数を使用することが含まれます。

このアプローチは、指定された条件下で日付フィールドと時刻フィールドを組み合わせるためのシンプルで効果的なソリューションを提供します。 より複雑なデータを含むシナリオでは、代替方法が必要になる場合があります。

以上がMS SQL Server で別々の日付フィールドと時刻フィールドを単一の DateTime 列に結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート