すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:日付と時間の関数

最終更新日:Oct 11, 2024

日付と時刻関数を使用して、日付と時刻の値を処理できます。 たとえば、関数を呼び出して、現在の日付と時刻の取得、日付と時刻の書式設定、時間間隔の計算、日付または時刻の特定の部分 (年、月、日など) の抽出を行うことができます。 このトピックでは、日付と時刻の関数構文について説明し、AnalyticDB for MySQLで日付と時刻の関数を使用する方法の例を示します。

  • ADDDATE: 指定された日付に時間間隔を追加します。

  • ADDTIME: 指定した時間に時間間隔を追加します。

  • CONVERT_TZ: from_tzで指定されたタイムゾーンからto_tzで指定されたタイムゾーンに変換し、結果の値を返します。

  • CURDATE: 現在の日付を返します。

  • CURTIME: 現在の時刻を返します。

  • DATE: dateまたはdatetime式のdate部分を返します。

  • DATE_FORMAT: 指定された形式の文字列として日付を返します。

  • SUBDATE/DATE_SUB: 日付から指定された間隔を引きます。

  • DATEDIFF: 日付を別の日付から減算します。

  • DAY/DAYOFMONTH: 日付の月の日付を返します。 有効な値: 1 ~ 31。

  • DAYNAME: 月曜日などの日付の曜日を返します。

  • DAYOFWEEK: 日付の数値として曜日を返します。

  • DAYOFYEAR: 日付の年の日付を返します。

  • EXTRACT: 日付または時刻の1つ以上の個別の部分を返します。 たとえば、この関数は、日付または時刻の年、月、日、時、分を返すことができます。

  • FROM_DAYS: 日数を指定するパラメーターNに基づいてDATE値を返します。

  • FROM_UNIXTIME: 指定された形式でUNIXタイムスタンプを返します。

  • HOUR: 時間の時間部分を返します。

  • LAST_DAY: 日付または日時の月の最終日を返します。

  • LOCALTIME/LOCALTIMESTAMP/NOW: 現在のタイムスタンプを返します。

  • MAKEDATE: yearとdayofyearパラメーターに基づいて日付を返します。

  • MAKETIME: 時間、分、秒のパラメーターに基づいて時間を返します。

  • MINUTE: 時間の分部分を返します。

  • : 日付の月を返します。

  • MONTHNAME: 日付の月のフルネームを返します。

  • PERIOD_ADD: Nで指定された月数をPで指定された期間に追加します。

  • PERIOD_DIFF: 2つの期間間の月数を返します。

  • クォーター: 日付の年の四半期を返します。

  • SEC_TO_TIME: 秒数を時間に変換します。

  • SECOND: 指定された時間の2番目の部分を返します。

  • STR_TO_DATE: 指定した形式で文字列を日付または日時に変換します。

  • SUBTIME: expr1で指定された時間からexpr2で指定された間隔を減算します。

  • SYSDATE: システム時刻を返します。

  • TIME: exprで指定されたdateまたはdatetime式の時間部分を文字列として返します。

  • TIME_FORMAT: 指定された形式の文字列として時刻を返します。

  • TIME_TO_SEC: 時間を秒数に変換します。

  • TIMEDIFF: expr1で指定された時間からexpr2で指定された時間を減算します。

  • TIMESTAMP: exprで指定されたdateまたはdatetime式をdatetime値として返します。

  • TIMESTAMPADD: 日付または日時式に間隔を追加します。

  • TIMESTAMPDIFF: 日付または日時の式を別の式から引いた値を返します。

  • TO_DAYS: 指定された日付に基づいて0年からの日数を返します。

  • TO_SECONDS: 指定された時間に基づいて0年から経過した秒数を返します。

  • UNIX_TIMESTAMP: 現在時刻のタイムスタンプを返します。 タイムスタンプはUNIXの時刻形式に従います。 UTCで1970年1月1日00:00:00から経過した秒数です。

  • UTC_DATE: UTCの日付を返します。

  • UTC_TIME: UTC時間を返します。

  • UTC_TIMESTAMP: UTCタイムスタンプを返します。

  • WEEK: 日付の週番号を返します。

  • WEEKDAY: 日付の平日を返します。

  • WEEKOFYEAR: 日付のカレンダー週を返します。

  • YEAR: 日付の年の一部を返します。

  • YEARWEEK: 日付の年と週を返します。

ADDDATE

ADDDATE(date,INTERVAL expr unit)
ADDDATE(expr,days)      
  • パラメータタイプ:

    ADDDATE(date,INTERVAL expr unit)
    ADDDATE(expr,days)      ADDDATE(date,INTERVAL expr unit)
    ADDDATE(expr,days)      adddate(date, INTERVAL expr unit)
    adddate(timestamp, INTERVAL expr unit)
    adddate(datetime, INTERVAL expr unit)
    adddate(varchar, INTERVAL expr unit)
    adddate(date, varchar)
    adddate(date, bigint)
    adddate(datetime, bigint)
    adddate(datetime, varchar)
    adddate(timestamp, varchar)
    adddate(timestamp, bigint)
    adddate(varchar, bigint)
    adddate(varchar, varchar)               
  • 戻り値のデータ型: DATE。

  • 説明: この関数は、指定した日付に時間間隔を追加します。

    • unitの有効値: secondminutehourdaymonthyearminute_secondhour_secondhour_minuteday_secondday_minuteday_houryear_month。 デフォルト値はunit: dayです。

    • days and expr: この関数は、expr plus daysの値を返します。

  • 例:

    例 1

    select adddate(date '2022-01-22',interval '3' day);             

    次の情報が返されます。

    +----------------------------------------------+
    | adddate(DATE '2022-01-22', INTERVAL  '3' DAY)|
    +----------------------------------------------+
    | 2022-01-25                                   |              

    例 2

    select adddate(timestamp '2022-01-22',interval '3' day);

    次の情報が返されます。

    +---------------------------------------------------+
    | adddate(TIMESTAMP '2022-01-22', INTERVAL  '3' DAY)|
    +---------------------------------------------------+
    | 2022-01-25 00:00:00                               |                

    例 3

    select adddate(datetime '2022-01-22',interval '3' day);            

    次の情報が返されます。

    +--------------------------------------------------+
    | adddate(DATETIME '2022-01-22', INTERVAL  '3' DAY |
    +--------------------------------------------------+
    | 2022-01-25 00:00:00                              |               

    例 4

    select adddate('2022-01-22',interval '3' day);                                        

    次の情報が返されます。

    +-----------------------------------------+
    | adddate('2022-01-22', INTERVAL  '3' DAY)|
    +-----------------------------------------+
    | 2022-01-25                              |           

    例 5

    select adddate(datetime '2022-01-22',interval '3' second);              

    次の情報が返されます。

    +-----------------------------------------------------+
    | adddate(DATETIME '2022-01-22', INTERVAL  '3' SECOND)|
    +-----------------------------------------------------+
    |                                 2022-01-22 00:00:03 |               

    例6

    select adddate(datetime '2022-01-22',interval '3' minute);

    次の情報が返されます。

    +-----------------------------------------------------+
    | adddate(DATETIME '2022-01-22', INTERVAL  '3' MINUTE)|
    +-----------------------------------------------------+
    |                                 2022-01-22 00:03:00 |                   

    例7

    select adddate(datetime '2022-01-22',interval '3' hour);            

    次の情報が返されます。

    +---------------------------------------------------+
    | adddate(DATETIME '2022-01-22', INTERVAL  '3' HOUR |
    +---------------------------------------------------+
    |                               2022-01-22 03:00:00 |                

    例8

    select adddate(datetime '2022-01-22',interval '3' month);             

    次の情報が返されます。

    +----------------------------------------------------+
    | adddate(DATETIME '2022-01-22', INTERVAL  '3' MONTH)|
    +----------------------------------------------------+
    |                                2022-04-22 00:00:00 | 
                                              

    例9

    select adddate(datetime '2022-01-22',interval '3' year);              

    次の情報が返されます。

    +---------------------------------------------------+
    | adddate(DATETIME '2022-01-22', INTERVAL  '3' YEAR)|
    +---------------------------------------------------+
    |                               2025-01-22 00:00:00 |              

    例10

    select adddate(datetime '2022-01-22',interval '01:01:10' hour_second) as result;           

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-22 01:01:10 |                            

    例11

    select adddate(datetime '2022-01-22',interval '00:10' hour_minute) as result;           

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-22 00:10:00 |              

    例12

    select adddate(datetime '2022-01-22',interval '1 01:01:10' day_second) as result;              

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-23 01:01:10 |               

    例13

    select adddate(datetime '2022-01-22',interval '01:10' minute_second) as result;               

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-22 00:01:10 |            

    例14

    select adddate(datetime '2022-01-22',interval '1 01:01' day_minute) as result;              

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-23 01:01:00 |                

    例15

    select adddate(datetime '2022-01-22',interval '1 01' day_hour) as result;             

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-23 01:00:00 |               

    例16

    select adddate(datetime '2022-01-22 12:32:1',interval '2 2' year_month) as result;            

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2024-03-22 12:32:01 |               

    例17

    select adddate('2022-01-22','3');       

    次の情報が返されます。

    +---------------------------+
    | adddate('2022-01-22', '3')|
    +---------------------------+
    | 2022-01-25                |               

    例18

    select adddate('2022-01-22',3);       

    次の情報が返されます。

    +-------------------------+
    | adddate('2022-01-22', 3)|
    +-------------------------+
    | 2022-01-25              |                

    例19

    select adddate(datetime '2022-01-22 12:12:32',3);     

    次の情報が返されます。

    +-------------------------------------------+
    | adddate(DATETIME '2022-01-22 12:12:32', 3)|
    +-------------------------------------------+
    |                       2022-01-25 12:12:32 |                

    例20

    select adddate(datetime '2022-01-22 12:12:32','3');   

    次の情報が返されます。

    +---------------------------------------------+
    | adddate(DATETIME '2022-01-22 12:12:32', '3')|
    +---------------------------------------------+
    |                         2022-01-25 12:12:32 |                

    例21

    select adddate(timestamp '2022-01-22 12:12:32','3'); 

    次の情報が返されます。

    +----------------------------------------------+
    | adddate(TIMESTAMP '2022-01-22 12:12:32', '3')|
    +----------------------------------------------+
    |                          2022-01-25 12:12:32 |               

    例22

    select adddate(timestamp '2022-01-22 12:12:32',3);

    次の情報が返されます。

    +--------------------------------------------+
    | adddate(TIMESTAMP '2022-01-22 12:12:32', 3)|
    +--------------------------------------------+
    |                        2022-01-25 12:12:32 |               

    例23

    select adddate('2022-01-22 12:12:32',3);

    次の情報が返されます。

    +----------------------------------+
    | adddate('2022-01-22 12:12:32', 3)|
    +----------------------------------+
    | 2022-01-25 12:12:32              |                

    例24

    select adddate('2022-01-22 12:12:32','3');

    次の情報が返されます。

    +------------------------------------+
    | adddate('2022-01-22 12:12:32', '3')|
    +------------------------------------+
    | 2022-01-25 12:12:32                |               

ADDTIME

ADDTIME(expr1,expr2)            
  • 説明: この関数は、expr2で指定された時間をexpr1で指定された時間に追加し、結果を返します。

  • パラメータタイプ:

    addtime(date,varchar)
    addtime(time,varchar)
    addtime(datetime,varchar)
    addtime(timestamp,varchar)
    addtime(varchar,varchar)                    
  • 戻り値のデータ型: VARCHAR。

  • 例:

    例 1

    select addtime(date '2022-01-01','01:01:01');

    次の情報が返されます。

    +----------------------------------------+
    | addtime(DATE '2022-01-01', '01:01:01') |
    +----------------------------------------+
    | 2022-01-01 01:01:01                    |                    

    例 2

    select addtime(time '01:00:00','01:01:01');

    次の情報が返されます。

    +--------------------------------------+
    | addtime(TIME '01:00:00', '01:01:01') |
    +--------------------------------------+
    | 02:01:01                             |                    

    例 3

    select addtime(datetime '2022-01-22 00:00:00','01:01:01');

    次の情報が返されます。

    +----------------------------------------------------+
    | addtime(DATETIME '2022-01-22 00:00:00', '01:01:01')|
    +----------------------------------------------------+
    | 2022-01-22 01:01:01                                |                    

    例 4

    select addtime(timestamp '2022-01-22 00:00:00','01:01:01');

    次の情報が返されます。

    +-----------------------------------------------------+
    | addtime(TIMESTAMP '2022-01-22 00:00:00', '01:01:01')|
    +-----------------------------------------------------+
    | 2022-01-22 01:01:01                                 |                    

    例 5

    select addtime('2022-01-22 00:00:00','01:01:01');

    次の情報が返されます。

    + ------------------------------------------- +
    | addtime('2022-01-22 00:00:00 ', '01:01:01')|
    + ------------------------------------------- +
    | 2022-01-22 01:01:01 | 

CONVET_TZ

CONVERT_TZ(dt,from_tz,to_tz)           
  • 説明: この関数は、datetime値dtfrom_tzで指定されたタイムゾーンからto_tzで指定されたタイムゾーンに変換し、結果を返します。

  • パラメータタイプ:

    convert_tz(varchar, varchar, varchar)
  • 戻り値のデータ型: DATETIME。

  • 例:

    例 1

    select convert_tz('2022-01-01 12:00:00','+00:00','+10:00');

    次の情報が返されます。

    +-------------------------------------------------------+
    | convert_tz('2022-01-01 12:00:00', '+00:00', '+10:00') |
    +-------------------------------------------------------+
    |                                   2022-01-01 22:00:00 |                   

    例 2

    select convert_tz('2022-01-01 12:00:00','GMT','MET');

    次の情報が返されます。

    +-------------------------------------------------+
    | convert_tz('2022-01-01 12:00:00', 'GMT', 'MET') |
    +-------------------------------------------------+
    |                             2022-01-01 13:00:00 |                    

CURDATE

CURDATE()
  • 説明: この関数は現在の日付を返します。

  • 戻り値のデータ型: DATE。

  • 例:

    select curdate;

    次の情報が返されます。

    +------------+
    | curdate()  |
    +------------+
    | 2022-01-01 |                    

CURTIME

CURTIME()
  • 説明: この関数は現在の時刻を返します。

  • 戻り値のデータ型: TIME。

  • 例:

    select curtime();

    次の情報が返されます。

    + -------------
    | curtime() |
    + -------------
    | 14:39:22.109 | 

日付

DATE(expr)            
  • 説明: この関数は、dateまたはdatetime式のdate部分を返します。

  • パラメータタイプ:

    date(timestamp)
    date(datetime)
    date(varchar)                   
  • 戻り値のデータ型: DATE。

  • 例:

    例 1

    select date(timestamp '2022-01-01 01:02:03');

    次の情報が返されます。

    +---------------------------------------+
    | date(TIMESTAMP '2022-01-01 01:02:03') |
    +---------------------------------------+
    | 2022-01-01                            |                   

    例 2

    select date(datetime '2022-01-01 01:02:03');

    次の情報が返されます。

    +--------------------------------------+
    | date(DATETIME '2022-01-01 01:02:03') |
    +--------------------------------------+
    | 2022-01-01                           |                    

    例 3

    select date('2022-01-01 01:02:03');

    次の情報が返されます。

    +-----------------------------+
    | date('2022-01-01 01:02:03') |
    +-----------------------------+
    | 2022-01-01                  |                    

DATE_FORMAT

DATE_FORMAT(date,format)           
  • 説明: この関数は、指定された形式の文字列として日付を返します。 次の表に、format指定子を示します。

    %a

    曜日の略称。 有効な値: Sun to Sat。

    %b

    月の略称。 有効な値: 1月から12月。

    %c

    数値形式の月。 有効な値: 0 ~ 12。

    %d

    数値形式の月の日。 有効な値: 00〜31。

    %e

    数値形式の月の日。 有効な値: 0〜31。

    %f

    マイクロ秒。 有効な値: 000000〜999999。

    %H

    時間です。 有効な値: 00〜23。

    %h

    時間です。 有効な値: 01〜12。

    %I

    時間です。 有効な値: 01〜12。

    %i

    数値形式の分。 有効な値: 00〜59。

    %j

    年間通算日 有効値: 001 ~ 366

    %k

    時間です。 有効な値: 0 ~ 23。

    %l

    時間です。 有効な値: 1 ~ 12。

    %M

    月の名前。 有効な値: 1月から12月。

    %m

    数値形式の月。 有効な値: 00〜12。

    %p

    その日の12時間の略語。 有効値:AM と PM

    %r

    12時間形式 (hh:mm:ss AMまたはhh:mm:ss PM) の時刻。

    %S

    秒 有効な値: 00〜59。

    %s

    秒 有効な値: 00〜59。

    %T

    24時間形式 (hh:mm:ss) の時刻。

    %v

    その年の週の数。 この指定子はWEEK() モード3に適用され、% xで使用されます。

    説明

    月曜日は週の最初の日と見なされます。

    %W

    平日の名前。 有効な値: 日曜日から土曜日。

    %x

    数値形式の週の年。 この指定子は % vで使用され、値には4桁の数字が含まれます。

    説明

    月曜日は週の最初の日と見なされます。

    %Y

    4桁形式の年。

    %y

    2桁形式の年。

    %%

    パーセント記号 (%) 。

  • パラメータタイプ:

    date_format(timestamp, varchar)
    date_format(varchar, varchar) 
    date_format(datetime, varchar)
    date_format(date, varchar)                   
  • 戻り値のデータ型: VARCHAR。

  • 例:

    例 1

    select date_format(timestamp '2022-01-27 13:23:00', '%W %M %Y')as result;                   

    次の情報が返されます。

    +-----------------------+
    | result                |
    +-----------------------+
    | Thursday January 2022 |                    

    例 2

    select date_format('2022-01-27 13:23:00', '%W %M %Y')as result;                

    次の情報が返されます。

    +-----------------------+
    | result                |
    +-----------------------+
    | Thursday January 2022 |                    

    例 3

    select date_format(datetime '2022-01-27 13:23:00', '%W %M %Y')as result;               

    次の情報が返されます。

    +-----------------------+
    | result                |
    +-----------------------+
    | Thursday January 2022 |                    

    例 4

    select date_format(date '2022-01-27', '%W %M %Y')as result;             

    次の情報が返されます。

    +-----------------------+
    | result                |
    +-----------------------+
    | Thursday January 2022 |                    

SUBDATE/DATE_SUB

DATE_SUB(date,INTERVAL expr unit)            
  • 説明: この関数は、dateで指定された日付からintervalで指定された間隔を減算します。

    unitの有効値: secondminutehourdaymonthyearminute_secondhour_secondhour_minuteday_secondday_minuteday_houryear_month。 デフォルト値はunit: dayです。

  • パラメータタイプ:

    subdate(date, INTERVAL expr unit)
    subdate(timestamp, INTERVAL expr unit)
    subdate(datetime, INTERVAL expr unit)
    subdate(varchar, INTERVAL expr unit)
    subdate(date, bigint)
    subdate(date, varchar)
    subdate(datetime, bigint)
    subdate(datetime, varchar)
    subdate(timestamp, bigint)
    subdate(timestamp, varchar)
    subdate(varchar, bigint)
    subdate(varchar, varchar)                    
  • 戻り値のデータ型: DATE。

  • 例:

    例 1

    select date_sub(date '2022-01-22',interval '3' day);                    

    次の情報が返されます。

    +-----------------------------------------------+
    | date_sub(DATE '2022-01-22', INTERVAL  '3' DAY)|
    +-----------------------------------------------+
    | 2022-01-19                                    |                    

    例 2

    select date_sub(timestamp '2022-01-22 00:00:00',interval '3' day)as result;                  

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-19 00:00:00 |                    

    例 3

    select date_sub(datetime '2022-01-22 00:00:00',interval '3' day)as result;                    

    次の情報が返されます。

    select date_sub(datetime '2022-01-22 00:00:00',interval '3' day)as result;                    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-19 00:00:00 |                    

    例 4

    select date_sub('2022-01-22 00:00:00',interval '3' day);                   

    次の情報が返されます。

    +---------------------------------------------------+
    | date_sub('2022-01-22 00:00:00', INTERVAL  '3' DAY)|
    +---------------------------------------------------+
    | 2022-01-19 00:00:00                               |                    

    例 5

    select date_sub('2022-01-22 00:00:00',interval '3' second);                   

    次の情報が返されます。

    +------------------------------------------------------+
    | date_sub('2022-01-22 00:00:00', INTERVAL  '3' SECOND)|
    +------------------------------------------------------+
    | 2022-01-21 23:59:57                                  |                    

    例6

    select date_sub('2022-01-22 00:00:00',interval '3' minute);                  

    次の情報が返されます。

    +------------------------------------------------------+
    | date_sub('2022-01-22 00:00:00', INTERVAL  '3' MINUTE)|
    +------------------------------------------------------+
    | 2022-01-21 23:57:00                                  |                    

    例7

    select date_sub('2022-01-22 00:00:00',interval '3' hour);                  

    次の情報が返されます。

    +----------------------------------------------------+
    | date_sub('2022-01-22 00:00:00', INTERVAL  '3' HOUR)|
    +----------------------------------------------------+
    | 2022-01-21 21:00:00                                |                    

    例8

    select date_sub('2022-01-22 00:00:00',interval '3' month);                

    次の情報が返されます。

    +-----------------------------------------------------+
    | date_sub('2022-01-22 00:00:00', INTERVAL  '3' MONTH)|
    +-----------------------------------------------------+
    | 2021-10-22 00:00:00                                 |                    

    例9

    select date_sub('2022-01-22 00:00:00',interval '3' year);                   

    次の情報が返されます。

    +----------------------------------------------------+
    | date_sub('2022-01-22 00:00:00', INTERVAL  '3' YEAR)|
    +----------------------------------------------------+
    | 2019-01-22 00:00:00                                |                    

    例10

    select date_sub('2022-01-22 00:00:00',interval '01:10' minute_second)as result;                

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-21 23:58:50 |                    

    例11

    select date_sub('2022-01-22 00:00:00',interval '01:01:10' hour_second)as result;             

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-21 22:58:50 |                    

    例12

    select date_sub('2022-01-22 00:00:00',interval '01:01' hour_minute)as result;                   

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-21 22:59:00 |                    

    例13

    select date_sub('2022-01-22 00:00:00',interval '1 01:01:10' day_second)as result;                   

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-20 22:58:50 |                    

    例14

    select date_sub('2022-01-22 00:00:00',interval '1 01:01' day_minute)as result;                 

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-20 22:59:00 |                    

    例15

    select date_sub('2022-01-22 00:00:00',interval '1 01' day_hour)as result;                

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-20 23:00:00 |                   

    例16

    select date_sub('2022-01-22 00:00:00',interval '2 2' year_month)as result;                  

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2019-11-22 00:00:00 |                    

    例17

    select date_sub(date '2022-01-22 00:00:00',3);                   

    次の情報が返されます。

    +----------------------------------------+
    | date_sub(DATE '2022-01-22 00:00:00', 3)|
    +----------------------------------------+
    | 2022-01-19                             |                    

    例18

    select date_sub(date '2022-01-22 00:00:00','3');                  

    次の情報が返されます。

    +------------------------------------------+
    | date_sub(DATE '2022-01-22 00:00:00', '3')|
    +------------------------------------------+
    | 2022-01-19                               |

    例19

    select date_sub(datetime '2022-01-22 00:00:00 ',3);

    次の情報が返されます。

    +--------------------------------------------+
    | date_sub(DATETIME '2022-01-22 00:00:00', 3)|
    +--------------------------------------------+
    |                        2022-01-19 00:00:00 |                  

    例20

    select date_sub(datetime '2022-01-22 00:00:00 ','3');

    次の情報が返されます。

    +----------------------------------------------+
    | date_sub(DATETIME '2022-01-22 00:00:00', '3')|
    +----------------------------------------------+
    |                          2022-01-19 00:00:00 |                   

    例21

    select date_sub(timestamp '2022-01-22 00:00:00 ',3);

    次の情報が返されます。

    +---------------------------------------------+
    | date_sub(TIMESTAMP '2022-01-22 00:00:00', 3)|
    +---------------------------------------------+
    |                         2022-01-19 00:00:00 |                    

    例22

    select date_sub(timestamp '2022-01-22 00:00:00 ','3');

    次の情報が返されます。

    +-----------------------------------------------+
    | date_sub(TIMESTAMP '2022-01-22 00:00:00', '3')|
    +-----------------------------------------------+
    |                           2022-01-19 00:00:00 |                    

    例23

    select date_sub('2022-01-22 00:00:00 ',3);

    次の情報が返されます。

    +-----------------------------------+
    | date_sub('2022-01-22 00:00:00', 3)|
    +-----------------------------------+
    | 2022-01-19 00:00:00               |                   

    例24

    select date_sub('2022-01-22 00:00:00 ','3');

    次の情報が返されます。

    +-------------------------------------+
    | date_sub('2022-01-22 00:00:00', '3')|
    +-------------------------------------+
    | 2022-01-19 00:00:00                 |                   

DATEDIFF

DATEDIFF(expr1,expr2)
  • 説明: この関数は、expr1で指定された日付からexpr2で指定された日付を減算します。

  • パラメータタイプ:

    datediff(varchar, varchar)
    datediff(datetime, varchar)
    datediff(varchar, datetime)
    datediff(datetime, datetime)
    datediff(varchar, timestamp)
    datediff(timestamp, timestamp)
    datediff(timestamp, varchar)
    datediff(date, date)
    datediff(date, varchar)
    datediff(varchar, date) 
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select datediff('2022-01-22 23:59:59 ','2022-1-21');

    次の情報が返されます。

    +-----------------------------------------------+
    | datediff('2022-01-22 23:59:59','2022-1-21')   |
    +-----------------------------------------------+
    |                                             1 |                   

    例 2

    select datediff(datetime '2022-01-22 23:59:59','2022-1-21')as result;

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |      1 |

    例 3

    select datediff('2022-01-22 23:59:59',datetime '2022-1-21')as result;                 

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |      1 |                    

    例 4

    select datediff(datetime '2022-01-22 23:59:59',datetime '2022-1-21')as result;                  

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |      1 |                   

    例 5

    select datediff('2022-01-22 23:59:59',timestamp '2022-1-21')as result;                   

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |      1 |                    

    例6

    select datediff(timestamp '2022-01-22 23:59:59',timestamp '2022-1-21')as result;                   

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |      1 |                    

    例7

    select datediff(timestamp '2022-01-22 23:59:59','2022-1-21')as result;                   

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |      1 |                    

    例8

    select datediff(date '2022-01-22 23:59:59',date '2022-01-21')as result;                  

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |      1 |                    

    例9

    select datediff(date '2022-01-22 23:59:59','2022-01-21')as result;                   

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |      1 |                   

    例10

    select datediff('2022-01-22',date '2021-01-21');               

    次の情報が返されます。

    +-------------------------------------------+
    | datediff('2022-01-22', DATE '2021-01-21') |
    +-------------------------------------------+
    |                                      366  |              

DAY/DAYOFMONTH

DAY(date)
DAYOFMONTH(date)         
  • 説明: この関数は、dateで指定された日付の日付を返します。 有効な値: 1 ~ 31

  • パラメータタイプ:

    dayofmonth(timestamp)
    dayofmonth(datetime)
    dayofmonth(date)
    dayofmonth(time)
    dayofmonth(varchar)                    
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select dayofmonth(timestamp '2022-01-22 12:23:09');                  

    次の情報が返されます。

    +---------------------------------------------+
    | dayofmonth(TIMESTAMP '2022-01-22 12:23:09') |
    +---------------------------------------------+
    |                                          22 |                    

    例 2

    select dayofmonth(date '2022-01-22');                 

    次の情報が返されます。

    +-------------------------------+
    | dayofmonth(DATE '2022-01-22') |
    +-------------------------------+
    |                            22 |                   

    例 3

    select dayofmonth(time '17:01:10');                  

    現在の日付を示す次の情報が返されます。

    +-----------------------------+
    | dayofmonth(TIME '17:01:10') |
    +-----------------------------+
    |                          22 |                    

    例 4

    select dayofmonth(datetime '2022-01-22 00:00:00');                 

    次の情報が返されます。

    +--------------------------------------------+
    | dayofmonth(DATETIME '2022-01-22 00:00:00') |
    +--------------------------------------------+
    |                                         22 |                   

    例 5

    select day('2022-01-22');                  

    次の情報が返されます。

    +-------------------+
    | day('2022-01-22') |
    +-------------------+
    |                22 |                   

デイネーム

DAYNAME(date)            
  • 説明: この関数は、月曜日などの日付の曜日を返します。

  • パラメータタイプ:

    dayname(timestamp)
    dayname(datetime)
    dayname(date)
    dayname(varchar)                    
  • 戻り値のデータ型: VARCHAR。

  • 例:

    例 1

    select dayname(timestamp '2022-01-22 00:00:00');                 

    次の情報が返されます。

    +------------------------------------------+
    | dayname(TIMESTAMP '2022-01-22 00:00:00') |
    +------------------------------------------+
    | Saturday                                 |                    

    例 2

    select dayname(datetime '2022-01-22 00:00:00');                

    次の情報が返されます。

    +-----------------------------------------+
    | dayname(DATETIME '2022-01-22 00:00:00') |
    +-----------------------------------------+
    | Saturday                                |                   

    例 3

    select dayname(date '2022-01-22');                   

    次の情報が返されます。

    +----------------------------+
    | dayname(DATE '2022-01-22') |
    +----------------------------+
    | Saturday                   |                    

    例 4

    select dayname('2022-01-22');                  

    次の情報が返されます。

    +-----------------------+
    | dayname('2022-01-22') |
    +-----------------------+
    | Saturday              |                    

デイオフウィーク

DAYOFWEEK(date)            
  • 説明: この関数は、曜日を日付の数値として返します。1は日曜日、2は月曜日、7は土曜日です。

  • パラメータタイプ:

    dayofweek(timestamp)
    dayofweek(datetime)
    dayofweek(date)
    dayofweek(varchar)                    
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select dayofweek(timestamp '2022-01-22 00:00:00');                   

    次の情報が返されます。

    +--------------------------------------------+
    | dayofweek(TIMESTAMP '2022-01-22 00:00:00') |
    +--------------------------------------------+
    |                                          7 |                 

    例 2

    select dayofweek(datetime '2022-01-22 00:00:00');                  

    次の情報が返されます。

    + ------------------------------------------- +
    | dayofweek(DATETIME '2022-01-22 00:00:00 ') |
    + ------------------------------------------- +
    | 7 | 

    例 3

    select dayofweek(date '2022-01-22');                    

    次の情報が返されます。

    +------------------------------+
    | dayofweek(DATE '2022-01-22') |
    +------------------------------+
    |                            7 |                    

    例 4

    select dayofweek('2022-01-22');                

    次の情報が返されます。

    +-------------------------+
    | dayofweek('2022-01-22') |
    +-------------------------+
    |                       7 |                   

DAYOFYEAR

DAYOFYEAR(date)            
  • 説明: この関数は、日付の日を返します。 有効な値: 1 ~ 366

  • パラメータタイプ:

    dayofyear(timestamp)
    dayofyear(datetime) 
    dayofyear(date) 
    dayofyear(varchar)                    
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select dayofyear(timestamp '2022-02-01 00:12:12');

    次の情報が返されます。

    +--------------------------------------------+
    | dayofyear(TIMESTAMP '2022-02-01 00:12:12') |
    +--------------------------------------------+
    |                                         32 |                   

    例 2

    select dayofyear(datetime '2022-02-01 00:12:12');                  

    次の情報が返されます。

    +-------------------------------------------+
    | dayofyear(DATETIME '2022-02-01 00:12:12') |
    +-------------------------------------------+
    |                                        32 |                    

    例 3

    select dayofyear(date '2022-02-01');                  

    次の情報が返されます。

    +------------------------------+
    | dayofyear(DATE '2022-02-01') |
    +------------------------------+
    |                           32 |                   

    例 4

    select dayofyear('2022-02-01');                   

    次の情報が返されます。

    +-------------------------+
    | dayofyear('2022-02-01') |
    +-------------------------+
    |                      32 |                   

EXTRACT

EXTRACT(unit FROM date)           
  • 説明: この関数は、指定された単位の日付または時刻の1つ以上の個別の部分を返します。 たとえば、この関数は、日付または時刻の年、月、日、時、分を返すことができます。

    unitの有効値: secondminutehourdaymonthyearminute_secondhour_secondhour_minuteday_secondday_minuteday_houryear_month

  • サポートされている入力パラメータータイプ: VARCHAR、TIMESTAMP、DATETIME、およびTIME。

  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select extract(second from '2022-01-22 00:12:34');                   

    次の情報が返されます。

    +-------+
    | _col0 |
    +-------+
    |    34 |                    

    例 2

    select extract(minute from '2022-01-22 00:12:34');                

    次の情報が返されます。

    +-------+
    | _col0 |
    +-------+
    |    12 |                   

    例 3

    select extract(hour from '2022-01-22 00:12:34');                  

    次の情報が返されます。

    +-------+
    | _col0 |
    +-------+
    |     0 |                    

    例 4

    select extract(day from '2022-01-22 00:12:34');              

    次の情報が返されます。

    +-------+
    | _col0 |
    +-------+
    |    22 |                    

    例 5

    select extract(month from '2022-01-22 00:12:34');                  

    次の情報が返されます。

    +-------+
    | _col0 |
    +-------+
    |     1 |                    

    例6

    select extract(year from timestamp '2022-01-22');              

    次の情報が返されます。

    +-------+
    | _col0 |
    +-------+
    |  2022 |                   

    例7

    select extract(year from datetime  '2022-01-22');                 

    次の情報が返されます。

    +-------+
    | _col0 |
    +-------+
    |  2022 |                    

    例8

    select extract(year from time '15:23:22 ');

    現在の年を示す以下の情報が返されます。

    +-------+
    | _col0 |
    +-------+
    |  2022 |                    

    例9

    select extract(minute_second from '2022-01-22 00:12:34 ');

    次の情報が返されます。

    + -------
    | _col0 |
    + -------
    | 1234 | 

    例10

    select extract(hour_second from '2022-01-22 12:12:34 ');

    次の情報が返されます。

    + -------
    | _col0 |
    + --------
    | 121234 | 

    例11

    select extract(hour_minute from '2022-01-22 12:12:34');               

    次の情報が返されます。

    + -------
    | _col0 |
    + -------
    | 1212 | 

    例12

    select extract(day_second from '2022-01-22 12:12:34 ');

    次の情報が返されます。

    + ---------
    | _col0 |
    + ---------
    | 22121234 | 

    例13

    select extract(day_minute from '2022-01-22 00:12:34 ');

    次の情報が返されます。

    + -------
    | _col0 |
    + --------
    | 220012 | 

    例14

    select extract(day_hour from '2022-01-22 12:12:34 ');

    次の情報が返されます。

    + -------
    | _col0 |
    + -------
    | 2212 | 

    例15

    select extract(year_month from '2022-01-22 00:12:34 ');

    次の情報が返されます。

    + -------
    | _col0 |
    + --------
    | 202201 | 

FROM_DAYS

FROM_DAYS(N)
  • 説明: この関数は、日数を指定するパラメーターNに基づいてDATE値を返します。

  • パラメータタイプ:

    from_days(varchar)
    from_days(bigint) 
  • 戻り値のデータ型: DATE。

  • 例:

    例 1

    select from_days(738565);                   

    次の情報が返されます。

    + ------------------- +
    | from_days(738565) |
    + ------------------- +
    | 2022-02-14 | 

    例 2

    select from_days('738565');                  

    次の情報が返されます。

    + --------------------- +
    | from_days('738565') |
    + --------------------- +
    | 2022-02-14 | 

FROM_UNIXTIME

FROM_UNIXTIME(unix_timestamp[,format])            
  • 説明: この関数は、UNIXで指定されたunixタイムスタンプを指定された形式で返します。

    formatパラメーターは、DATE_format関数のFORMATに準拠しています。

  • パラメータタイプ:

    from_unixtime(varchar, varchar)
    from_unixtime(varchar)
    from_unixtime(double, varchar)
    from_unixtime(double) 
  • 戻り値のデータ型: DATETIME。

  • 例:

    例 1

    select from_unixtime('1647738565','%Y %M %h:%i:%s %x');                

    次の情報が返されます。

    +--------------------------------------------------+
    | from_unixtime('1647738565', '%Y %M %h:%i:%s %x') |
    +--------------------------------------------------+
    |    2022 March 09:09:25 2022                      |                   

    例 2

    select from_unixtime('1647738565');                 

    次の情報が返されます。

    +-----------------------------+
    | from_unixtime('1647738565') |
    +-----------------------------+
    |         2022-03-20 09:09:25 |                    

    例 3

    select from_unixtime(1647738456);                 

    次の情報が返されます。

    + --------------------------- +
    | from_unixtime(1647738456) |
    + --------------------------- +
    | 2022-03-20 09:07:36 | 

    例 4

    select from_unixtime(1647738456,'%Y %M %h:%i:%s %x');                    

    次の情報が返されます。

    +------------------------------------------------+
    | from_unixtime(1647738456, '%Y %M %h:%i:%s %x') |
    +------------------------------------------------+
    |     2022 March 09:07:36 2022                   |                    

HOUR

HOUR(time)            
  • 説明: この関数は時間の時間部分を返します。

  • パラメータタイプ:

    hour(timestamp)
    hour(datetime)
    hour(date)
    hour(time)
    hour(varchar)                    
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select hour(timestamp '2022-01-22 10:05:03');                   

    次の情報が返されます。

    +---------------------------------------+
    | hour(TIMESTAMP '2022-01-22 10:05:03') |
    +---------------------------------------+
    |                                    10 |                    

    例 2

    select hour(datetime '2022-01-22 10:05:03 ');

    次の情報が返されます。

    +--------------------------------------+
    | hour(DATETIME '2022-01-22 10:05:03') |
    +--------------------------------------+
    |                                   10 |                    

    例 3

    select hour(date '2022-01-22');                   

    次の情報が返されます。

    +-------------------------+
    | hour(DATE '2022-01-22') |
    +-------------------------+
    |                       0 |                    

    例 4

    select hour(time '10:05:03');                

    次の情報が返されます。

    +-----------------------+
    | hour(TIME '10:05:03') |
    +-----------------------+
    |                    10 |                   

    例 5

    select hour('10:05:03');                

    次の情報が返されます。

    +------------------+
    | hour('10:05:03') |
    +------------------+
    |       10         |                   

LAST_DAY

LAST_DAY(date)            
  • 説明: この関数は、日付または日時の月の最終日を返します。

  • パラメータタイプ:

    last_day(varchar)
    last_day(timestamp)
    last_day(datetime)
    last_day(date)                    
  • 戻り値のデータ型: DATE。

  • 例:

    例 1

    select last_day('2022-01-22');                 

    次の情報が返されます。

    +------------------------+
    | last_day('2022-01-22') |
    +------------------------+
    | 2022-01-31             |                    

    例 2

    select last_day(timestamp '2022-01-22 12:12:12');                  

    次の情報が返されます。

    + ------------------------------------------- +
    | last_day(TIMESTAMP '2022-01-22 12:12:12 ') |
    + ------------------------------------------- +
    | 2022-01-31 | 

    例 3

    select last_day(datetime '2022-01-22 12:12:12 ');

    次の情報が返されます。

    + ------------------------------------------ +
    | last_day(DATETIME '2022-01-22 12:12:12 ') |
    + ------------------------------------------ +
    | 2022-01-31 | 

    例 4

    select last_day(date '2022-01-22 ');

    次の情報が返されます。

    + ----------------------------- +
    | last_day(DATE '2022-01-22 ') |
    + ----------------------------- +
    | 2022-01-31 | 

LOCALTIME/LOCALTIMESTAMP/NOW

localtime
localtime()
localtimestamp
localtimestamp()
now() 
  • 説明: この関数は現在のタイムスタンプを返します。

  • 戻り値のデータ型: DATETIME。

  • 例:

    例 1

    select now();                  

    次の情報が返されます。

    + --------------------- +
    | now() |
    + --------------------- +
    | 2022-01-22 16:28:37 | 

    例 2

    select localtime;                  

    次の情報が返されます。

    + --------------------- +
    | localtime() |
    + --------------------- +
    | 2022-01-22 16:28:37 | 

    例 3

    select localtime();                  

    次の情報が返されます。

    + --------------------- +
    | localtime() |
    + --------------------- +
    | 2022-01-22 16:28:37 | 

    例 4

    select localtimestamp();                  

    次の情報が返されます。

    + --------------------- +
    | localtimestamp() |
    + --------------------- +
    | 2022-01-22 17:28:37 | 

    例 5

    select localtimestamp();                  

    次の情報が返されます。

    + --------------------- +
    | localtimestamp() |
    + --------------------- +
    | 2022-01-22 17:38:13 | 

MAKEDATE

MAKEDATE(year,dayofyear)
  • 説明: この関数は、yearパラメーターとdayofyearパラメーターに基づいて日付を返します。

  • パラメータタイプ:

    makedate(bigint, bigint)
    makedate(varchar, varchar) 
  • 戻り値のデータ型: DATE。

  • 例:

    例 1

    select makedate(2022,31), makedate(2022,32);

    次の情報が返されます。

    +--------------------+--------------------+
    | makedate(2022, 31) | makedate(2022, 32) |
    +--------------------+--------------------+
    | 2022-01-31         | 2022-02-01         |

    例 2

    select makedate('2022','31'), makedate('2022','32');

    次の情報が返されます。

    +------------------------+------------------------+
    | makedate('2022', '31') | makedate('2022', '32') |
    +------------------------+------------------------+
    | 2022-01-31             | 2022-02-01             |                   

MAKETIME

MAKETIME(hour,minute,second)            
  • 説明: この関数は、時間、およびのパラメーターに基づいて時間を返します。

  • パラメータタイプ:

    maketime(bigint, bigint, bigint)
    maketime(varchar, varchar, varchar) 
  • 戻り値のデータ型: TIME。

  • 例:

    例 1

    select maketime(12,15、30);

    次の情報が返されます。

    + ---------------------- +
    | maketime (12, 15, 30) |
    + ---------------------- +
    | 12:15:30 | 

    例 2

    select maketime('12','15','30');

    次の情報が返されます。

    + ---------------------------- +
    | maketime('12' 、'15' 、'30') |
    + ---------------------------- +
    | 12:15:30 | 

MINUTE

MINUTE(time)           
  • 説明: この関数は、時間の微小部分を返します。

  • パラメータタイプ:

    minute(timestamp)
    minute(datetime)
    minute(date)
    minute(time)
    minute(varchar)                    
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select minute(timestamp '2022-02-03 10:05:03');                  

    次の情報が返されます。

    +-----------------------------------------+
    | minute(TIMESTAMP '2022-02-03 10:05:03') |
    +-----------------------------------------+
    |                                       5 |                    

    例 2

    select minute(datetime '2022-02-03 10:05:03');datetime '2022-02-03 10:05:03 ');

    次の情報が返されます。

    +----------------------------------------+
    | minute(DATETIME '2022-02-03 10:05:03') |
    +----------------------------------------+
    |                                      5 |

    例 3

    select minute(date '2022-02-03');

    次の情報が返されます。

    +---------------------------+
    | minute(DATE '2022-02-03') |
    +---------------------------+
    |                         0 |

    例 4

    select minute(time '12:12:12');

    次の情報が返されます。

    +-------------------------+
    | minute(TIME '12:12:12') |
    +-------------------------+
    |                      12 |

    例 5

    select minute('2022-02-03 10:05:03');

    次の情報が返されます。

    +-------------------------------+
    | minute('2022-02-03 10:05:03') |
    +-------------------------------+
    |                             5 |

MONTH

MONTH(date)
  • 説明: この関数は、日付の月の部分を返します。

  • パラメータタイプ:

    month(timestamp)
    month(datetime)
    month(date)
    month(time)
    month(varchar)                   
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select month(timestamp '2022-02-03 00:00:00');

    次の情報が返されます。

    +----------------------------------------+
    | month(TIMESTAMP '2022-02-03 00:00:00') |
    +----------------------------------------+
    |                                      2 |

    例 2

    select month(datetime '2022-02-03 00:00:00');

    次の情報が返されます。

    +---------------------------------------+
    | month(DATETIME '2022-02-03 00:00:00') |
    +---------------------------------------+
    |                                     2 |

    例 3

    select month(date '2022-02-03');

    次の情報が返されます。

    +--------------------------+
    | month(DATE '2022-02-03') |
    +--------------------------+
    |                        2 |

    例 4

    MONTH関数は、SQL文が実行された月を返すこともできます。 次の例では、5月2021日に実行されたSQL文に対して5が返されます。

    select month(time '12:12:12');

    次の情報が返されます。

    +------------------------+
    | month(TIME '12:12:12') |
    +------------------------+
    |                      5 |

    例 5

    select month('2022-02-03');               

    次の情報が返されます。

    +---------------------+
    | month('2022-02-03') |
    +---------------------+
    |                   2 |
                        

月名

MONTHNAME(date)
  • 説明: この関数は、日付の月のフルネームを返します。

  • パラメータタイプ:

    monthname(timestamp)
    monthname(datetime)
    monthname(date)
    monthname(varchar)                    
  • 戻り値のデータ型: VARCHAR。

  • 例:

    例 1

    select monthname(timestamp '2022-02-03 00:00:00');                

    次の情報が返されます。

    +--------------------------------------------+
    | monthname(TIMESTAMP '2022-02-03 00:00:00') |
    +--------------------------------------------+
    | February                                   |                   

    例 2

    select monthname(datetime '2022-02-03 00:00:00');                   

    次の情報が返されます。

    +-------------------------------------------+
    | monthname(DATETIME '2022-02-03 00:00:00') |
    +-------------------------------------------+
    | February                                  |                    

    例 3

    select monthname(date '2022-02-03');                  

    次の情報が返されます。

    +------------------------------+
    | monthname(DATE '2022-02-03') |
    +------------------------------+
    | February                     |                    

    例 4

    select monthname('2022-02-03');                 

    次の情報が返されます。

    +-------------------------+
    | monthname('2022-02-03') |
    +-------------------------+
    | February                |                    

PERIOD_ADD

PERIOD_ADD(P,N)
  • 説明: この関数は、Pで指定された期間にNで指定された月数を追加します。

  • パラメータタイプ:

    period_add(bigint, bigint)
    period_add(varchar, varchar)
    period_add(varchar, bigint) 
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select period_add(202201,2);                   

    次の情報が返されます。

    +-----------------------+
    | period_add(202201, 2) |
    +-----------------------+
    |                202203 |                    

    例 2

    select period_add('202201','2');                   

    次の情報が返されます。

    + --------------------------- +
    | period_add('202201', '2') |
    + --------------------------- +
    | 202203 | 

    例 3

    select period_add('202201','2');                   

    次の情報が返されます。

    + ------------------------- +
    | period_add('202201', 2) |
    + ------------------------- +
    | 202203 | 

PERIOD_DIFF

PERIOD_DIFF(P1,P2)
  • 説明: この関数は、P1P2で指定された2つの期間の間の月数を返します。

  • パラメータタイプ:

    period_diff(bigint, bigint)
    period_diff(varchar, varchar) 
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select period_diff(202202,202103);                    

    次の情報が返されます。

    + ---------------------------- +
    | period_diff(202202,202103) |
    + ---------------------------- +
    | 11 | 

    例 2

    select period_diff('202202','202103');                   

    次の情報が返されます。

    QUARTER(date)

QUARTER

QUARTER(date)
  • 説明: この関数は、日付の年の四半期を返します。 有効な値: 1 ~ 4

  • パラメータタイプ:

    quarter(datetime)
    quarter(varchar)
    quarter(timestamp)
    quarter(date)                    
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select quarter(datetime '2022-04-01 12:12:12 ');

    次の情報が返されます。

    +-----------------------------------------+
    | quarter(DATETIME '2022-04-01 12:12:12') |
    +-----------------------------------------+
    |                                       2 |                    

    例 2

    select quarter('2022-04-01');                   

    次の情報が返されます。

    +-----------------------+
    | quarter('2022-04-01') |
    +-----------------------+
    |                     2 |                    

    例 3

    select quarter(timestamp '2022-04-01 12:12:12');                   

    次の情報が返されます。

    +------------------------------------------+
    | quarter(TIMESTAMP '2022-04-01 12:12:12') |
    +------------------------------------------+
    |                                        2 |                    

    例 4

    select quarter(date '2022-04-01');                   

    次の情報が返されます。

    +----------------------------+
    | quarter(DATE '2022-04-01') |
    +----------------------------+
    |                          2 |                    

SEC_TO_TIME

SEC_TO_TIME (秒)
  • 説明: この関数は、で指定された秒数を時間に変換します。

  • パラメータタイプ:

    sec_to_time(bigint)
    sec_to_time(varchar) 
  • 戻り値のデータ型: TIME。

  • 例:

    例 1

    select sec_to_time(2378);

    次の情報が返されます。

    + ------------------- +
    | sec_to_time(2378) |
    + ------------------- +
    | 00:39:38 | 

    例 2

    select sec_to_time('2378');

    次の情報が返されます。

    + --------------------- +
    | sec_to_time('2378') |
    + --------------------- +
    | 00:39:38 | 

SECOND

SECOND(time)
  • 説明: この関数は、指定された時間の2番目の部分を返します。 有効な値: 0〜59

  • パラメータタイプ:

    second(timestamp)
    second(datetime)
    second(date)
    second(time)
    second(varchar)                   
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select second(timestamp '2022-03-12 12:13:14');                  

    次の情報が返されます。

    +-----------------------------------------+
    | second(TIMESTAMP '2022-03-12 12:13:14') |
    +-----------------------------------------+
    |                                      14 |                    

    例 2

    select second(datetime '2022-03-12 12:13:14 ');

    次の情報が返されます。

    + ---------------------------------------- +
    | second(DATETIME '2022-03-12 12:13:14 ') |
    + ---------------------------------------- +
    | 14 | 

    例 3

    select second(date '2022-03-12');

    次の情報が返されます。

    +---------------------------+
    | second(DATE '2022-03-12') |
    +---------------------------+
    |                         0 |

    例 3

    select second(time '12:13:14 ');

    次の情報が返されます。

    + ------------------------- +
    | second(TIME '12:13:14 ') |
    + ------------------------- +
    | 14 | 

    例 4

    select second('12:12:23');

    次の情報が返されます。

    +--------------------+
    | second('12:12:23') |
    +--------------------+
    |                 23 |

STR_TO_DATE

STR_TO_DATE(str,format)
  • 説明: この関数は、文字列を指定された形式の日付または日時に変換します。

    formatパラメーターは、DATE_format関数のFORMATに準拠しています。

  • パラメータタイプ:

    str_to_date(varchar, varchar)
  • 戻り値のデータ型: DATETIME。

  • 例:

    例 1

    select str_to_date('2022-01-06 10:20:30','%Y-%m-%d %H:%i:%s') as result;                  

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-06 10:20:30 |                    

サブタイム

SUBTIME(expr1,expr2)
  • 説明: この関数は、expr1で指定された時間からexpr2で指定された間隔を減算します。

  • パラメータタイプ:

    subtime(date, varchar)
    subtime(datetime, varchar)
    subtime(timestamp, varchar)
    subtime(time, varchar)
    subtime(varchar, varchar)                   
  • 戻り値のデータ型: DATETIME。

  • 例:

    例 1

    select subtime(date '2022-10-31 '、'0:1:1');

    次の情報が返されます。

    +-------------------------------------+
    | subtime(DATE '2022-10-31', '0:1:1') |
    +-------------------------------------+
    |                 2022-10-30 23:58:59 |                    

    例 2

    select subtime(datetime '2022-10-31 12:12:12 ','0:1:1');

    次の情報が返されます。

    +--------------------------------------------------+
    | subtime(DATETIME '2022-10-31 12:12:12', '0:1:1') |
    +--------------------------------------------------+
    |                              2022-10-31 12:11:11 |                   

    例 3

    select subtime(timestamp '2022-10-31 12:12:12','0:1:1');                

    次の情報が返されます。

    +---------------------------------------------------+
    | subtime(TIMESTAMP '2022-10-31 12:12:12', '0:1:1') |
    +---------------------------------------------------+
    |                               2022-10-31 12:11:11 |                   

    例 4

    select subtime(time '12:12 ','0:1:1');

    次の情報が返されます。

    +-----------------------------------+
    | subtime(TIME '12:12:12', '0:1:1') |
    +-----------------------------------+
    | 12:11:11                          |
    +-----------------------------------+                   

    例 5

    select subtime('2022-10-31 23:59:59 '、'0:1:1');

    次の情報が返されます。

    +-----------------------------------------+
    | subtime('2022-10-31 23:59:59', '0:1:1') |
    +-----------------------------------------+
    | 2022-10-31 23:58:58                     |                   

SYSDATE

SYSDATE()
  • 説明: この関数はシステム時刻を返します。

  • 戻り値のデータ型: DATETIME。

  • 例:

    例 1

    sysdate();

    次の情報が返されます。

    + --------------------- +
    | sysdate() |
    + --------------------- +
    | 2022-02-26 00:47:21 | 

時間

TIME(expr)
  • 説明: この関数は、exprで指定されたdateまたはdatetime式の時間部分を文字列として返します。

  • パラメータタイプ:

    time(varchar)
    time(datetime)
    time(timestamp) 
  • 戻り値のデータ型: VARCHAR。

  • 例:

    例 1

    select time('2022-01-31 01:02:03');                 

    次の情報が返されます。

    +-----------------------------+
    | time('2022-01-31 01:02:03') |
    +-----------------------------+
    | 01:02:03                    |                   

    例 2

    select time(datetime '2022-01-31 01:02:03 ');

    次の情報が返されます。

    +--------------------------------------+
    | time(DATETIME '2022-01-31 01:02:03') |
    +--------------------------------------+
    | 01:02:03                             |                   

    例 3

    select time(timestamp '2022-01-31 01:02:03');                   

    次の情報が返されます。

    +---------------------------------------+
    | time(TIMESTAMP '2022-01-31 01:02:03') |
    +---------------------------------------+
    | 01:02:03                              |                    

TIME_FORMAT

TIME_FORMAT(time,format)
  • 説明: この関数は、timeで指定された時刻を、指定された形式の文字列として返します。

    formatパラメーターは、DATE_format関数のFORMATに準拠しています。

  • パラメータタイプ:

    time_format(varchar, varchar)
    time_format(timestamp, varchar)
    time_format(datetime, varchar)
    time_format(time, varchar)
    time_format(date, varchar) 
  • 戻り値のデータ型: VARCHAR。

  • 例:

    例 1

    select time_format('12:00:00 ', ' % H % k % h % I % l');

    次の情報が返されます。

    + ------------------------------------------- +
    | time_format('12:00:00 ', ' % H % k % h % I % l') |
    + ------------------------------------------- +
    | 12 12 12 12 | 

    例 2

    select time_format(timestamp '2022-01-22 23:00:00','%H %k %h %I %l')as result;                

    次の情報が返されます。

    +----------------+
    | result         |
    +----------------+
    | 23 23 11 11 11 |                   

    例 3

    select time_format(datetime '2022-01-22 23:00:00','%H %k %h %I %l')as result;                   

    次の情報が返されます。

    +----------------+
    | result         |
    +----------------+
    | 23 23 11 11 11 |                    

    例 4

    select time_format(time '23:00:00','%H %k %h %I %l');                

    次の情報が返されます。

    + ------------------------------------------------ +
    | time_format(TIME '23:00:00 ', ' % H % k % h % I % l') |
    + ------------------------------------------------ +
    | 23 23 11 11 11 | 

    例 5

    select time_format(date '2022-01-22','%H %k %h %I %l');                 

    次の情報が返されます。

    + -------------------------------------------------- +
    | time_format(DATE '2022-01-22 ', ' % H % k % h % I % l') |
    + -------------------------------------------------- +
    | 00 0 12 12 12 | 

TIME_TO_SEC

TIME_TO_SEC(time)
  • 説明: この関数は、timeで指定された時間を秒数に変換します。

  • パラメータタイプ:

    time_to_sec(varchar)
    time_to_sec(datetime)
    time_to_sec(timestamp)
    time_to_sec(date)
    time_to_sec(time)
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select time_to_sec(datetime '2022-01-22 22:23:00 ');

    次の情報が返されます。

    + --------------------------------------------- +
    | time_to_sec(DATETIME '2022-01-22 22:23:00 ') |
    + --------------------------------------------- +
    | 80580 | 

    例 2

    select time_to_sec(datetime '2022-01-22 22:23:00');              

    次の情報が返されます。

    + ---------------------------------------------- +
    | time_to_sec(TIMESTAMP '2022-01-22 22:23:00 ') |
    + ---------------------------------------------- +
    | 80580 | 

    例 3

    select time_to_sec(date '2022-01-22');                  

    次の情報が返されます。

    + -------------------------------- +
    | time_to_sec(DATE '2022-01-22 ') |
    + -------------------------------- +
    | 0 | 

    例 4

    select time_to_sec(time '12:12:12 ');

    次の情報が返されます。

    + ------------------------------ +
    | time_to_sec(TIME '12:12:12 ') |
    + ------------------------------ +
    | 43932 | 

    例 5

    select time_to_sec(time '12:12:12');                 

    次の情報が返されます。

    + ------------------------- +
    | time_to_sec('22:23:00 ') |
    + ------------------------- +
    | 80580 | 

TIMEDIFF

TIMEDIFF(expr1,expr2)
  • 説明: この関数は、expr1で指定された時間からexpr2で指定された時間を減算します。 この関数は、SUBTIME関数と同等です。

  • パラメータタイプ:

    timediff(time, varchar)
    timediff(time, time)
    timediff(varchar, varchar) 
  • 戻り値のデータ型: DATETIME。

  • 例:

    例 1

    select timediff(time '12:00:00 ','10:00:00');

    次の情報が返されます。

    + --------------------------------------- +
    | timediff(TIME '12:00:00 ', '10:00:00') |
    + --------------------------------------- +
    | 02:00:00 | 

    例 2

    select timediff('12:00:00 ','10:00:00');

    次の情報が返されます。

    + ---------------------------------- +
    | timediff('12:00:00 ', '10:00:00') |
    + ---------------------------------- +
    | 02:00:00 | 

    例 3

    select timediff(time '12:00:00 '、time '10:00:00');

    次の情報が返されます。

    + -------------------------------------------- +
    | timediff(TIME '12:00:00 '、TIME '10:00:00') |
    + -------------------------------------------- +
    | 02:00:00 | 

TIMESTAMP

TIMESTAMP(expr)
  • 説明: この関数は、exprで指定されたdateまたはdatetime式をdatetime値として返します。

  • パラメータタイプ:

    timestamp(date)
    timestamp(varchar)                    
  • 戻り値のデータ型: DATETIME。

  • 例:

    例 1

    select timestamp(date '2022-01-22');                   

    次の情報が返されます。

    +------------------------------+
    | timestamp(DATE '2022-01-22') |
    +------------------------------+
    | 2022-01-22 00:00:00          |                    

    例 2

    select timestamp('2022-01-22');                   

    次の情報が返されます。

    +-------------------------+
    | timestamp('2022-01-22') |
    +-------------------------+
    |     2022-01-22 00:00:00 |                    

TIMESTAMPADD

TIMESTAMPADD(unit,interval,datetime_expr)
  • 説明: この関数は、intervalで指定された間隔を、datetime_exprで指定されたdateまたはdatetime式に追加します。 unitは、intervalの単位を指定します。

    unitの有効値: secondminutehourdayweekmonthquarteryear

  • パラメータタイプ:

    timestampadd(varchar, varchar, timestamp)
    timestampadd(varchar, bigint, timestamp)
    timestampadd(varchar, varchar, date)
    timestampadd(varchar, bigint, date)
    timestampadd(varchar, varchar, datetime)
    timestampadd(varchar, bigint, datetime)
    timestampadd(varchar, varchar, varchar)
    timestampadd(varchar, bigint, varchar) 
  • 戻り値のデータ型: DATETIME。

  • 例:

    例 1

    select timestampadd(second,'1',timestamp '2022-01-02 12:12:12')as result;

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-02 12:12:13 |

    例 2

    select timestampadd(second,1,timestamp '2022-01-02 12:12:12')as result;                 

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-02 12:12:13 |                   

    例 3

    select timestampadd(second,'1',date '2022-01-02 12:12:12 ')as result;

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-02 00:00:01 |                  

    例 4

    select timestampadd(second,1,date '2022-01-02 12:12:12')as result;                  

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-02 00:00:01 |                    

    例 5

    select timestampadd(second,'1',datetime '2022-01-02 12:12:12 ')as result;

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-02 12:12:13 |                   

    例6

    select timestampadd(second,1,datetime '2022-01-02 12:12:12 ')as result;

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-02 12:12:13 |

    例7

    select timestampadd(second,'1','2022-01-02 12:12:12 ')as result;

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-02 12:12:13 |                   

    例8

    select timestampadd(second,1,'2022-01-02 12:12:12')as result;

    次の情報が返されます。

    +---------------------+
    | result              |
    +---------------------+
    | 2022-01-02 12:12:13 |

    例9

    select timestampadd(second,1,'2022-01-02 12:12:12 ');

    次の情報が返されます。

    + -------------------------------------------------- +
    | timestampadd('second', 1, '2022-01-02 12:12:12 ') |
    + -------------------------------------------------- +
    | 2022-01-02 12:12:13 | 

    例10

    select timestampadd(minute,8820,'2022-02-24 09:00:00 ');

    次の情報が返されます。

    + ----------------------------------------------------- +
    | timestampadd('MINUTE', 8820, '2022-02-24 09:00:00 ') |
    + ----------------------------------------------------- +
    | 2022-03-02 12:00:00 | 

    例11

    select timestampadd(hour,1,'2022-01-02 12:12:12 ');

    次の情報が返されます。

    + ------------------------------------------------ +
    | timestampadd('hour', 1, '2022-01-02 12:12:12 ') |
    + ------------------------------------------------ +
    | 2022-01-02 13:12:12 | 

    例12

    select timestampadd(day,1,'2022-01-02 12:12:12 ');

    次の情報が返されます。

    + ----------------------------------------------- +
    | timestampadd('day', 1, '2022-01-02 12:12:12 ') |
    + ----------------------------------------------- +
    | 2022-01-03 12:12:12 | 

    例13

    select timestampadd(week,1,'2022-01-02 12:12:12 ');

    次の情報が返されます。

    + ------------------------------------------------ +
    | timestampadd('week ', 1, '2022-01-02 12:12:12') |
    + ------------------------------------------------ +
    | 2022-01-09 12:12:12 | 

    例14

    select timestampadd(month,1,'2022-01-02 12:12:12 ');

    次の情報が返されます。

    + ------------------------------------------------- +
    | timestampadd('month', 1, '2022-01-02 12:12:12 ') |
    + ------------------------------------------------- +
    | 2022-02-02 12:12:12 | 

    例15

    select timestampadd(year,1,'2022-01-02 12:12:12 ');

    次の情報が返されます。

    + ------------------------------------------------ +
    | timestampadd('year', 1, '2022-01-02 12:12:12 ') |
    + ------------------------------------------------ +
    | 2023-01-02 12:12:12 | 

    例16

    select timestampadd(quarter,1,'2022-01-02 12:12:12 ');

    次の情報が返されます。

    + --------------------------------------------------- +
    | timestampadd('quarter', 1, '2022-01-02 12:12:12 ') |
    + --------------------------------------------------- +
    | 2022-04-02 12:12:12 | 

TIMESTAMPDIFF

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)            
  • 説明: この関数は、datetime_expr1で指定されたdateまたはdatetime式をdatetime_expr2で指定された別の式から引いた値を返します。 unitは、結果の単位を指定します。

    unitの有効値: secondminutehourdayweekmonthquarteryear

    この関数は、TIMESTAMPADDと同じ方法で使用できます。

  • パラメータタイプ:

    timestampdiff(varchar, timestamp, timestamp)
    timestampdiff(varchar, date, date)
    timestampdiff(varchar, datetime, datetime)
    timestampdiff(varchar, varchar, varchar) 
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select timestampdiff(second,datetime '2022-02-01 10:12:13',datetime '2022-03-01 10:12:13')as result;                  

    次の情報が返されます。

    +----------+
    |  result  |
    +----------+
    |  2419200 |                    

    例 2

    select timestampdiff(minute,datetime '2022-02-01 10:12:13',datetime '2022-03-01 10:12:13')as result;               

    次の情報が返されます。

    +---------+
    |  result |
    +---------+
    |  40320  |                   

    例 3

    select timestampdiff(hour,datetime '2022-02-01 10:12:13',datetime '2022-03-01 10:12:13')as result;                   

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |   672  |                    

    例 4

    select timestampdiff(day,timestamp '2022-02-01',timestamp '2022-03-01')as result;                 

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |    28  |                   

    例 5

    select timestampdiff(day,date '2022-02-01',date '2022-03-01');                 

    次の情報が返されます。

    +------------------------------------------------------------+
    | timestampdiff('day', DATE '2022-02-01', DATE '2022-03-01') |
    +------------------------------------------------------------+
    |                                                         28 |                    

    例6

    select timestampdiff(day,datetime '2022-02-01 10:12:13',datetime '2022-03-01 10:12:13')as result;               

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |    28  |                    

    例7

    select timestampdiff(day,'2022-02-01','2022-03-01');                  

    次の情報が返されます。

    +--------------------------------------------------+
    | timestampdiff('day', '2022-02-01', '2022-03-01') |
    +--------------------------------------------------+
    |                                              28  |                    

    例8

    select timestampdiff(week,'2022-02-01 ','2022-03-01');

    次の情報が返されます。

    + --------------------------------------------------- +
    | timestampdiff('week '、'2022-02-01' 、'2022-03-01 ') |
    + --------------------------------------------------- +
    | 4 | 

    例9

    select timestampdiff(quarter,'2022-02-01 ','2022-03-01');

    次の情報が返されます。

    + ------------------------------------------------------ +
    | timestampdiff('quarter' 、'2022-02-01 '、'2022-03-01') |
    + ------------------------------------------------------ +
    | 0 | 

    例10

    select timestampdiff(month,'2022-02-01','2022-03-01');                    

    次の情報が返されます。

    + ---------------------------------------------------- +
    | timestampdiff('month' 、'2022-02-01 '、'2022-03-01') |
    + ---------------------------------------------------- +
    | 1 | 

    例11

    select timestampdiff(year,datetime '2022-02-01 10:12:13 ',datetime '2020-05-01 10:12:13')as result;

    次の情報が返されます。

    +--------+
    | result |
    +--------+
    |     -1 |                    

TO_DAYS

TO_DAYS(date)
  • 説明: この関数は、dateで指定された日付に基づいて、0年からの日数を返します。

  • パラメータタイプ:

    to_days(date)
    to_days(time)
    to_days(varchar)
    to_days(timestamp)
    to_days(datetime)
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select to_days(date '2022-02-12');

    次の情報が返されます。

    +----------------------------+
    | to_days(DATE '2022-02-12') |
    +----------------------------+
    |                     738563 |

    例 2

    select to_days(time '12:12:12 ');

    現在の日付に基づく0年からの日数を示す以下の情報が返されます。

    + -------------------------- +
    | to_days(TIME '12:12:12 ') |
    + -------------------------- +
    | 738563 | 

    例 3

    select to_days(now());

    次の情報が返されます。

    + ---------------- +
    | to_days(now()) |
    + ---------------- +
    | 738563 | 

    例 4

    説明

    この実施例は実施例3と同等である。

    select to_days(curdate());

    次の情報が返されます。

    + -------------------- +
    | to_days(curdate()) |
    + -------------------- +
    | 738563 | 

    例 5

    select to_days(datetime '2022-02-12 12:12:12 ');

    次の情報が返されます。

    + ----------------------------------------- +
    | to_days(DATETIME '2022-02-12 12:12:12 ') |
    + ----------------------------------------- +
    | 738563 | 

    例6

    select to_days('2022-02-12 12:12:12 ');

    次の情報が返されます。

    + -------------------------------- +
    | to_days('2022-02-12 12:12:12 ') |
    + -------------------------------- +
    | 738563 | 

    例7

    select to_days(timestamp '2022-02-12 12:12:12');

    次の情報が返されます。

    + ------------------------------------------ +
    | to_days(TIMESTAMP '2022-02-12 12:12:12 ') |
    + ------------------------------------------ +
    | 738563 | 

TO_SECONDS

TO_SECONDS(expr)
  • 説明: この関数は、exprで指定された時間に基づいて、年0から経過した秒数を返します。

  • パラメータタイプ:

    to_seconds(date)
    to_seconds(datetime)
    to_seconds(timestamp)
    to_seconds(varchar)
    to_seconds(time)                    
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select to_seconds(date '2022-02-02');

    次の情報が返されます。

    +-------------------------------+
    | to_seconds(DATE '2022-02-02') |
    +-------------------------------+
    |                   63810979200 |

    例 2

    select to_seconds(datetime '2022-02-02 09:09:00');

    次の情報が返されます。

    + -------------------------------------------- +
    | to_seconds(DATETIME '2022-02-02 09:09:00 ') |
    + -------------------------------------------- +
    | 63811012140 | 

    例 3

    select to_seconds(timestamp '2022-02-02 09:09:00');

    次の情報が返されます。

    + --------------------------------------------- +
    | to_seconds(TIMESTAMP '2022-02-02 09:09:00 ') |
    + --------------------------------------------- +
    | 63811012140 | 

    例 4

    次のSQL文を実行すると、curdate() の値が '09:09:00 'に追加されます。

    select to_seconds(time '09:09:00');                  

    次の情報が返されます。

    + ----------------------------- +
    | to_seconds(TIME '09:09:00 ') |
    + ----------------------------- +
    | 63811012140 | 

    例 5

    select to_seconds('2022-02-02');

    次の情報が返されます。

    + -------------------------- +
    | to_seconds('2022-02-02 ') |
    + -------------------------- +
    | 63810979200 | 

UNIX_TIMESTAMP

UNIX_TIMESTAMP([date])
  • 説明: UNIX_TIMESTAMP() は、00:00:00 January 1 1, 1970 in UTCから現在の時刻までの秒数を返します。 UNIX_TIMESTAMP(date) は、00:00:00 January 1 1, 1970 in UTCから日付で指定された時間までの秒数を返します。

  • パラメータタイプ:

    unix_timestamp()
    unix_timestamp(varchar)
    unix_timestamp(timestamp)
    unix_timestamp(date)
    unix_timestamp(datetime)
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select unix_timestamp();

    次の情報が返されます。

    + ------------------ +
    | unix_timestamp() |
    + ------------------ +
    | 1654759686 | 

    例 2

    unix_timestamp(timestamp '2022-02-08 12:12:12 ');

    次の情報が返されます。

    + ------------------------------------------------- +
    | unix_timestamp(TIMESTAMP '2022-02-08 12:12:12 ') |
    + ------------------------------------------------- +
    | 1644293532 | 

    例 3

    select unix_timestamp(date '2022-02-08');

    次の情報が返されます。

    + ----------------------------------- +
    | unix_timestamp(DATE '2022-02-08 ') |
    + ----------------------------------- +
    | 1644249600 | 

    例 4

    unix_timestamp(datetime '2022-02-08 12:12:12 ');

    次の情報が返されます。

    + ------------------------------------------------ +
    | unix_timestamp(DATETIME '2022-02-08 12:12:12 ') |
    + ------------------------------------------------ +
    | 1644293532 | 

    例 5

    unix_timestamp('2022-02-08 12:12:12 ');

    次の情報が返されます。

    + --------------------------------------- +
    | unix_timestamp('2022-02-08 12:12:12 ') |
    + --------------------------------------- +
    | 1644293532 | 

UTC_DATE

UTC_DATE()
  • 説明: この関数はUTCの日付を返します。

  • 戻り値のデータ型: VARCHAR。

  • 例:

    select utc_date();

    次の情報が返されます。

    + ----------
    | utc_date() |
    + -----------
    | 2022-05-27 | 

UTC_TIME

UTC_TIME()
  • 説明: この関数はUTC時間を返します。

  • 戻り値のデータ型: VARCHAR。

  • 例:

    select utc_time();

    次の情報が返されます。

    + ----------
    | utc_time() |
    + -----------
    | 05:53:19 | 

UTC_TIMESTAMP

utc_timestamp()select utc_time();select utc_time();
  • 説明: この関数はUTCタイムスタンプを返します。

  • 戻り値のデータ型: VARCHAR。

  • 例:

    select utc_timestamp();                   

    次の情報が返されます。

    + --------------------- +
    | utc_timestamp() |
    + --------------------- +
    | 2022-05-27 15:55:15 | 

WEEK

WEEK(date[,mode])
  • 説明: この関数は、dateで指定された日付の週番号を返します。これは、日付が属する年の週です。

    • dateは、週番号を取得する日付を指定します。

    • modeは、週数を計算するモードを指定するオプションのパラメーターです。 デフォルトでは、週の最初の日は日曜日です。 週が月曜日から始まるか日曜日から始まるかを指定することもできます。 次の表に、modeがサポートする形式を示します。

    モード

    初日の周

    週番号の有効な値

    説明

    0

    Sunday

    0から53

    年の最初の週は、年の最初の日曜日から始まります。 その年の第1日曜日の前の日を含む週は、第0週とみなされる。

    1

    Monday

    0から53

    1月1日から第1月曜日までの日数が3日を超える場合、その年の第1月曜日の前の日を含む週がその年の第1週と見なされる。 そうでない場合、その年の最初の月曜日の前の日を含む週は、第0週と見なされる。

    2

    Sunday

    1から53

    年の最初の週は、年の最初の日曜日から始まります。 その年の最初の日曜日の前の日を含む週は、前年の最後の週と見なされます。

    3

    Monday

    1から53

    1月1日から第1月曜日までの日数が3日を超える場合、その年の第1月曜日の前の日を含む週がその年の第1週と見なされる。 それ以外の場合、その年の最初の月曜日の前の日を含む週は、前年の最後の週と見なされます。

    4

    Sunday

    0から53

    1月1日から第1日曜日までの日数が3日を超える場合、その年の第1日曜日までの日数を含む週がその年の第1週と見なされます。 そうでない場合、その年の第1日曜日の前の日を含む週は、第0週とみなされる。

    5

    Monday

    0から53

    年の最初の週は、年の最初の月曜日から始まります。 その年の最初の月曜日の前の日を含む週は、第0週と見なされます。

    6

    Sunday

    1から53

    1月1日から第1日曜日までの日数が3日を超える場合、その年の第1日曜日までの日数を含む週がその年の第1週と見なされます。 それ以外の場合、その年の最初の日曜日の前の日を含む週は、前年の最後の週と見なされます。

    7

    Monday

    1から53

    年の最初の週は、年の最初の月曜日から始まります。 その年の最初の月曜日の前の日を含む週は、前年の最後の週と見なされます。

  • パラメータタイプ:

    week(varchar)
    week(varchar, bigint)
    week(date)
    week(date, bigint)
    week(datetime)
    week(datetime, bigint)
    week(timestamp)
    week(timestamp, bigint)                   
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select week('2022-02-27');

    次の情報が返されます。

    +--------------------+
    | week('2022-02-27') |
    +--------------------+
    |                 9  |

    例 2

    select week('2022-02-20',1);

    次の情報が返されます。

    +-----------------------+
    | week('2022-02-20', 1) |
    +-----------------------+
    |                     7 |

    例 3

    select week(date '2022-02-20');

    次の情報が返されます。

    +-------------------------+
    | week(DATE '2022-02-20') |
    +-------------------------+
    |                       8 |

    例 4

    select week(date '2022-02-20',1);

    次の情報が返されます。

    +----------------------------+
    | week(DATE '2022-02-20', 1) |
    +----------------------------+
    |                          7 |

    例 5

    select week(datetime '2022-02-20 00:00:00 ',1);

    次の情報が返されます。

    +-----------------------------------------+
    | week(DATETIME '2022-02-20 00:00:00', 1) |
    +-----------------------------------------+
    |                                       7 |

    例6

    select week(datetime '2022-02-20 00:00:00 ');

    次の情報が返されます。

    +--------------------------------------+
    | week(DATETIME '2022-02-20 00:00:00') |
    +--------------------------------------+
    |                                    8 |

    例7

    select week(timestamp '2022-02-20 00:00:00 ');

    次の情報が返されます。

    +--------------------------------------+
    | week(DATETIME '2022-02-20 00:00:00') |
    +--------------------------------------+
    |                                    8 |

    例8

    select week(timestamp '2022-02-20 00:00:00 ',1);

    次の情報が返されます。

    +------------------------------------------+
    | week(TIMESTAMP '2022-02-20 00:00:00', 1) |
    +------------------------------------------+
    |                                        7 |

WEEKDAY

WEEKDAY(date)
  • 説明: この関数は、dateで指定された日付の平日を返します。 結果は、平日を示す整数です。 以下のセクションは、結果マッピングを列挙する: 0=月曜日、1=火曜日、2=水曜日、3=木曜日、4=金曜日、5=土曜日、および6=日曜日。

  • パラメータタイプ:

    weekday(timestamp)
    weekday(datetime)
    weekday(date)
    weekday(varchar)
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select weekday(timestamp '2022-02-20 00:09:00');

    次の情報が返されます。

    +------------------------------------------+
    | weekday(TIMESTAMP '2022-02-20 00:09:00') |
    +------------------------------------------+
    |                                        6 |

    例 2

    select weekday(datetime '2022-02-20 00:09:00');

    次の情報が返されます。

    +-----------------------------------------+
    | weekday(DATETIME '2022-02-20 00:09:00') |
    +-----------------------------------------+
    |                                       6 |

    例 3

    select weekday(date '2022-02-20 00:09:00');

    次の情報が返されます。

    +-------------------------------------+
    | weekday(DATE '2022-02-20 00:09:00') |
    +-------------------------------------+
    |                                   6 |

    例 4

    select weekday('2022-02-20');

    次の情報が返されます。

    +-----------------------+
    | weekday('2022-02-20') |
    +-----------------------+
    |                     6 |

WEEKOFYEAR

WEEKOFYEAR(date)
  • 説明: この関数は、dateで指定された日付の暦週を返します。 有効値: 1 ~ 53

  • パラメータタイプ:

    weekofyear(timestamp)
    weekofyear(datetime)
    weekofyear(date)
    weekofyear(varchar)
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select weekofyear(timestamp '2022-02-27 09:00:00');

    次の情報が返されます。

    +---------------------------------------------+
    | weekofyear(TIMESTAMP '2022-02-27 09:00:00') |
    +---------------------------------------------+
    |                                          8  |

    例 2

    select weekofyear(datetime '2022-02-27 09:00:00');

    次の情報が返されます。

    + -------------------------------------------- +
    | weekofyear(DATETIME '2022-02-27 09:00:00 ') |
    + -------------------------------------------- +
    | 8 | 

    例 3

    select weekofyear(date '2022-02-27');

    次の情報が返されます。

    +-------------------------------+
    | weekofyear(DATE '2022-02-27') |
    +-------------------------------+
    |                            8  |

    例 4

    select weekofyear('2022-02-27 ');

    次の情報が返されます。

    + -------------------------- +
    | weekofyear('2022-02-27 ') |
    + -------------------------- +
    | 8 | 

YEAR

YEAR(date)
  • 説明: この関数は、dateで指定された日付の年部分を返します。

  • パラメータタイプ:

    year(timestamp)
    year(datetime)
    year(date)
    year(time)
    year(varchar)
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select year(timestamp '2022-02-27 00:00:00 ');

    次の情報が返されます。

    select year(timestamp '2019-05-27 00:00:00');
    +---------------------------------------+
    | year(TIMESTAMP '2022-02-27 00:00:00') |
    +---------------------------------------+
    |                                  2022 |

    例 2

    select year(datetime '2022-02-27 00:00:00 ')

    次の情報が返されます。

    +--------------------------------------+
    | year(DATETIME '2022-02-27 00:00:00') |
    +--------------------------------------+
    |                                 2022 |

    例 3

    select year(date '2022-02-27');

    次の情報が返されます。

    +-------------------------+
    | year(DATE '2022-02-27') |
    +-------------------------+
    |                    2022 |

    例 4

    次のSQL文を実行すると、curdate() の値が '00:00:00 'に追加され、結果が文字列として返されます。

    select year(time '00:00:00 ');

    次の情報が返されます。

    + ----------------------- +
    | year(TIME '00:00:00 ') |
    + ----------------------- +
    | 2022 | 

    例 5

    select year(time '00:00:00');

    次の情報が返されます。

    +--------------------+
    | year('2022-02-27') |
    +--------------------+
    |               2022 |

YEARWEEK(date)
YEARWEEK(date,mode)
  • 説明: この関数は、日付の年と週を返します。

    結果の年は、その年の最初と最後の週の日付パラメータの年と異なる場合があります。

    この関数のmodeパラメーターは、WEEK関数のmodeパラメーターと同じように機能します。 単一パラメーター構文の場合、modeの値は0です。

  • パラメータタイプ:

    yearweek(timestamp)
    yearweek(timestamp, bigint)
    yearweek(datetime)
    yearweek(datetime, bigint)
    yearweek(date, bigint) 
    yearweek(date) 
    yearweek(varchar)
    yearweek(varchar, bigint)
  • 戻り値のデータ型: BIGINT。

  • 例:

    例 1

    select yearweek(timestamp '2022-02-27 00:00:00');

    次の情報が返されます。

    +-------------------------------------------+
    | yearweek(TIMESTAMP '2022-02-27 00:00:00') |
    +-------------------------------------------+
    |                                    202209 |

    例 2

    select yearweek(timestamp '2022-02-27 00:00:00 ',1);

    次の情報が返されます。

    + ---------------------------------------------- +
    | yearweek(TIMESTAMP '2022-02-27 00:00:00 ', 1) |
    + ---------------------------------------------- +
    | 202208 | 

    例 3

    yearweek(datetime '2022-02-27 00:00:00 ');

    次の情報が返されます。

    + ------------------------------------------ +
    | yearweek(DATETIME '2022-02-27 00:00:00 ') |
    + ------------------------------------------ +
    | 202209 | 

    例 4

    select yearweek(datetime '2022-02-27 00:00:00',1);

    次の情報が返されます。

    + --------------------------------------------- +
    | yearweek(DATETIME '2022-02-27 00:00:00 ', 1) |
    + --------------------------------------------- +
    | 202208 | 

    例 5

    select yearweek(date '2022-02-27',1);

    次の情報が返されます。

    + -------------------------------- +
    | yearweek(DATE '2022-02-27 ', 1) |
    + -------------------------------- +
    | 202208 | 

    例6

    select yearweek(date '2022-02-27');

    次の情報が返されます。

    + ----------------------------- +
    | yearweek(DATE '2022-02-27 ') |
    + ----------------------------- +
    | 202209 | 

    例7

    select yearweek('2022-02-27');

    次の情報が返されます。

    + ------------------------ +
    | yearweek('2022-02-27 ') |
    + ------------------------ +
    | 202209 | 

    例8

    select yearweek('2022-02-27 '、1);

    次の情報が返されます。

    + --------------------------- +
    | yearweek('2022-02-27 ', 1) |
    + --------------------------- +
    | 202208 |