DATE and DATETIME

日付と時刻は非常にイライラするデータ型であり、SQLは他の言語よりも簡単に作業することはできません。 日付と時刻は実際には完全に異なるデータ型ですが、多くの場合、datetimeデータ型にマージされます。 SQLの日付と時刻だけでは、特別な書式設定が必要ですが、非常に簡単です。 しかし、この2つをマージすることは、あなたの初期の年に直面する最も苦痛な作業の1つになる可能性があります。 親指の良いルールは、あなたが絶対にする必要があるか、将来的にする必要がありますときにのみ、時間と日付を一緒に使用することです。 日付と時刻がほんの数分で物事を複雑にする理由を説明します。 まず、あなたが単に日付を使って作業するときの簡単な生活を見てみましょう。

SQL日付の操作

私たちの”ユーザー”テーブル:

id username first last member_since
1 ohBillNotAgain Hillary Clinton 2011-12-25
2 internetCreator Al Gore 2011-12-8
3 dontMessWithTexas George Bush 2011-7-9

Let’s try to get all of our members before December 25, 2011.th>

ユーザー名 最初 最後 member_since 2 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 ユーザー名 2011-12-8 3 dontmesswithtexas ジョージ ブッシュ 2011-7-9

さて、私たちは2011年12月25日の前に言った、それは彼女がその日にいるので、貧しいヒラリーが含まれていな アルはかろうじてカットをしたが、古いジョージは私たちのカットオフ日の前に方法だった。 私たちは実際に何が起こったかについて話すべきだと思います。 WHERE member_since<‘2011-12-25’まで、私たちは何をしていたかを知っています。 ここで何が起こっているのか推測できるかもしれませんが、私は死んだ馬を打ち負かすでしょう。 Member_since列をチェックして、それが<より小さいかどうかを確認します。 多くの場合、日付のヘルプを検索すると、この構文は’YYYY-MM-DD’と呼ばれます。Yは年、Mは月、Dは日、明らかに。 各繰り返しは、その要素の空白文字スペースのシンボルです。 そのため、月に2桁しか必要としないのは理にかなっているためであり、年の最初の2文字は気にしないかもしれません。 代わりに、あなただけの11を得るために、YYを書きます。 簡単に、素晴らしいDATETIMEsに

SQLでDATETIMEを使用して

私たちの新しい「ユーザー」テーブル:

id username first last last_login
1 ohBillNotAgain Hillary Clinton 2011-12-24 12:59:15
2 internetCreator Al Gore 2011-12-24 11:53:25
3 dontMessWithTexas George Bush 2011-12-24 16:24:17

今、私たちは1:00PM December24,2011の前にログインしたすべてのメンバーを取得しようとします。th>

ユーザー名 最初 最後 結果

011-12-24 11:53:25

id ユーザー名 最初 最後
id ユーザー名

貧しいジョージ…さて、最後の構文とまったく同じですが、列名を置き換え、DATETIME文字列を使用して比較します。 DATETIMEデータ型には、DATEデータ型と同じ要素と時刻文字列がすべて含まれています。 一般的に’YYYY-MM-DD HH:MM:SS’として参照され、単一の引用符で、日付文字列と時間文字列を区切るスペースを使用して、比較のために日付文字列を作成します。 “2011-12-24 13:00″の前にログインしたので、ヒラリーとアルの両方がカットを行います:00’カット-オフ-オフ-オフ-オフ-オフ… 実際に見えるよりもここでははるかに簡単です。 これは、DATETIME文字列を手作業で入力したためです。 SQLには、文字列を置き換えることができるいくつかの日付関数があります。

重要なSQL日付関数

注:SQL日付関数は、SQLのバージョンによって大きく異 これらはMySQLです。P>

  • CURDATE()–現在の日付を取得
  • CURTIME()–現在の時刻を取得
  • NOW()–日付と時刻の両方を取得(DATETIME形式)

MySQLを使用していない場合は、切り替えを検討してくださ 冗談ですが、心配する必要はありませんが、Googleの簡単なクエリは、SQLデータベースに適したSQL関数を見つけるのに役立ちます。p>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です