Latest web development tutorials

Date関数でSQL ServerとMySQL

SQLの日付(日付)

ノート 我々は、日付を扱う場合には、おそらく、挿入された日付形式がデータベース列に日付形式と一致していることを確認するための最も困難な課題です。

限り、あなたのデータは、日付部分のみが含まれているとして、あなたのクエリが間違って行くだろう。 時間成分が関与する場合は、状況は複雑なビットです。

クエリの日付の複雑さを説明する前に、のは、最も重要な組み込みの日付処理機能を見てみましょう。


MySQLの日付関数

次の表は、最も重要なのは、内蔵のMySQL日付関数一覧表示されます:

函数 描述
NOW() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 提取日期或日期/时间表达式的日期部分
EXTRACT() 返回日期/时间的单独部分
DATE_ADD() 向日期添加指定的时间间隔
DATE_SUB() 从日期减去指定的时间间隔
DATEDIFF() 返回两个日期之间的天数
DATE_FORMAT() 用不同的格式显示日期/时间


SQL Serverの日付関数

次の表は、最も重要な組み込みの日付関数でSQL Serverを示しています。

函数 描述
GETDATE() 返回当前的日期和时间
DATEPART() 返回日期/时间的单独部分
DATEADD() 在日期中添加或减去指定的时间间隔
DATEDIFF() 返回两个日期之间的时间
CONVERT() 用不同的格式显示日期/时间


SQLの日付データ型

MySQLは 、データベース内の日付または日付/時刻の値に格納されたデータの次のタイプを使用します。

  • DATE - フォーマット:YYYY-MM-DD
  • DATETIME - フォーマット:YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - フォーマット:YYYY-MM-DD HH:MM:SS
  • YEAR - フォーマット:YYYYまたはYY

SQL Serverは、データベース内の日付または日付/時刻の値に格納されたデータの次のタイプを使用します。

  • DATE - フォーマット:YYYY-MM-DD
  • DATETIME - フォーマット:YYYY-MM-DD HH:MM:SS
  • SMALLDATETIME - フォーマット:YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - フォーマット:デジタルのみ

注:データベースに新しいテーブルを作成するときは、列のデータ型を選択する必要があります!

利用可能なすべてのデータ型については、当社の完全ご覧くださいデータ型リファレンスマニュアル


SQLの日付処理

ノート 部分は時間を必要としない場合は、我々は簡単に二つの日付を比較することができます!

私たちは、次の "受注"テーブルがあるとします。

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

今、私たちはテーブルから「2008-11-11」レコードとして受注日を選択します。

私たちは、次のSELECT文を使用します。

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

結果は次のように設定します。

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

さて、(「受注日」欄パートタイムに注意してください)以下のように "受注"テーブルがあると仮定:

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

我々は上記と同じSELECTステートメントを使用する場合:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

その後、我々は結果を取得します! これは、クエリの日付は時間の部分が含まれていないためです。

ヒント:あなたは、クエリは、シンプルで維持しやすいようにしたい場合は、あなたの日付に時間コンポーネントを使用しないでください!