SQL日時:知っておくべきことすべて



sql datetimeに関するこの記事は、datetime型を使用する方法と、他の日時型からdatetimeに変換する方法を理解するのに役立ちます。

時々日付と時刻を扱う SQL かなり注意が必要です。日付と時刻は実際には完全に異なるデータ型ですが、多くの場合、日時の日付データ型にマージされます。 SQLの日付と時刻 単独では非常に簡単ですが、2つをマージすることは最も骨の折れる作業の1つになる可能性があります。この記事では、SQL日時型について詳しく学習します。

日時データ型とは何ですか?

SQLでは、 日付時刻 日付データ型は、日付と時刻の両方を含む値に使用されます。 マイクロソフト それを次のように定義します 24時間制に基づく秒の小数部を含む時刻と組み合わせた日付





特にSQLには、日付と時刻の両方の表現を組み合わせて物事をより複雑にする多くのデータ型があります。最も広く使用されているのは、以前のバージョンのSQL以降に存在していたDATETIMEです。 SQLは、DATETIME値を「YYYY-MM-DDhh:mm:ss」形式で取得して表示します。サポートされている範囲は、「1753-01-0100:00:00」から「9999-12-3123:59:59.997」です。日時の型について詳しく見ていきましょう。

日時説明

SQL日時タイプの詳細については、次の表を確認してください。



プロパティ

構文

日付時刻

使用法



DECLARE @MyDatetime日付時刻

CREATE TABLE Table1(Column1日付時刻

フォーマット

‘YYYY-MM-DD hh:mm:ss.nnn

時間範囲

00:00:00から23:59:59.997

要素の範囲

  • YYYYは、1753年から9999年までの4桁で、年を表します。
  • MMは01から12までの2桁で、指定された年の月を表します。
  • DDは2桁で、指定した月の日を表す月に応じて01から31の範囲です。
  • hhは、00から23までの2桁の数字で、時間を表します。
  • mmは00から59までの2桁で、分を表します。
  • ssは00から59までの2桁で、秒を表します。
  • n *は、0から999の範囲の0から3桁で、秒の小数部を表します。

ストレージサイズ

plsqlをオンラインで無料で学ぶ

8バイト

デフォルト値

1900-01-01 00:00:00

カレンダー

グレゴリオ暦(年の全範囲が含まれます。)

注意: 上記の詳細は、Transact-SQLおよびSQLサーバー。

だから〜だ 日付時刻 SQLで。しかし、他の日付がある場合はどうしますか?時間タイプとあなたはそれらをに変換する必要があります 日付時刻 タイプ?

他の日付と時刻のタイプをdatetimeデータ型に変換する

ザ・ 日付時刻 のデータ型 SQL 日付と時刻が含まれ、3桁の秒の小数部が含まれます。その精度は、.000、.003、または.007秒の増分に丸められます。だから、あなたが変換するとき 日付 または 時間 の値 日付時刻 、追加情報が値に追加されます。これは、 日付時刻 データ型には、日付と時刻の両方が含まれます。記事のこの部分では、他のときに何が起こるかを説明しています 日時 データ型はに変換されます 日付時刻 データ・タイプ。

例1:日付と日時の間の暗黙的な変換

DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date

結果

@datetime @date ------------------------- ---------- 2016-12-21 00:00:00.000 2016 -12-21

例2:CAST()を使用した日付と日時の間の暗黙的な変換

DECLARE @thedate date = '2020-12-01' SELECT @thedate AS'date '、CAST(@thedate AS datetime)AS'datetime'

結果

@datetime @date ------------------------- ---------- 2016-12-21 00:00:00.000 2016 -12-21

例3:smalldatetimeからdatetimeへの暗黙的な変換

からの変換の場合 malldatetime タイプ、時間と分がコピーされます。秒と小数秒は値0に設定されます。次のコードは、を変換した結果を示しています。 smalldatetime の値 日付時刻 値。

DECLARE @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime SELECT @datetime AS '@ datetime'、@ smalldatetime AS '@ smalldatetime'

結果

@datetime @smalldatetime ------------------------- --------------------- --2016-12-01 12:32:00.000 2016-12-01 12:32:00

同様に、あなたは他を変換することができます 日付時刻 タイプする datatime 暗黙的に入力するか、を使用して入力します キャスト() そして convert() メソッド。参考までに、以下の表を確認して、すべての日付と時刻のタイプの形式をよく理解してください。

データ・タイプ

時間

12:35:29。 1234567

日付

2007-05-08

smalldatetime

2007-05-08 12:35:00

日付時刻

2007-05-08 12:35:29.123

datetime2

2007-05-0812:35:29。 1234567

datetimeoffset

2007-05-08 12:35:29.1234567 +12:15

これで、この記事は終わりです。ここで説明されている内容について明確に理解していただければ幸いです。 できるだけ練習し、経験を元に戻してください。

あなたがについてもっと知りたいなら MySQL このオープンソースのリレーショナルデータベースを理解してから、 インストラクター主導のライブトレーニングと実際のプロジェクト経験が付属しています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。

質問がありますか?この「SQLの手順」の記事のコメントセクションにその旨を記載してください。折り返しご連絡いたします。