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

AnalyticDB:日付および時刻関数

最終更新日:Aug 21, 2026

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

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

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

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

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

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

  • DATE:日付または日時式の日付部分を返します。

  • DATE_FORMAT:指定されたフォーマットの文字列として日付を返します。

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

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

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

  • DAYNAME:日付の曜日 (Monday など) を返します。

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

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

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

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

  • FROM_UNIXTIME:指定されたフォーマットで UNIX タイムスタンプを返します。

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

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

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

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

  • MAKETIME:hour、minute、および second パラメーターに基づいて時刻を返します。

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

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

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

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

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

  • QUARTER:日付の年の四半期を返します。

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

  • SECOND:指定された時刻の秒部分を返します。

  • STR_TO_DATE:文字列を指定されたフォーマットの日付または日時に変換します。

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

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

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

  • TIME_FORMAT:指定されたフォーマットの文字列として時刻を返します。

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

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

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

  • 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(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_hour、および year_monthunit のデフォルト値:day

    • daysexpr:この関数は exprdays を加えた値を返します。

  • 例:

    例 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)            
  • 説明:この関数は、expr1 で指定された時刻に expr2 で指定された時刻を加え、その結果を返します。

  • パラメーターの型:

    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                       |                    

CONVERT_TZ

CONVERT_TZ(dt,from_tz,to_tz)           
  • 説明:この関数は、日時値 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

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

  • パラメーターの型:

    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 の文字列として日付を返します。次の表に、format 指定子を示します。

    %a

    曜日の省略名。有効な値:Sun~Sat。

    %b

    月の省略名。有効な値:Jan~Dec。

    %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

    月の名前。有効な値:January~December。

    %m

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

    %p

    1日の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

    曜日の名前。有効な値:Sunday~Saturday。

    %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_hour、および year_monthunit のデフォルト値: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;                    

    次の情報が返されます。

    +---------------------+
    | 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

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

  • パラメーターの型:

    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

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)           
  • 説明:この関数は、指定された unit で日付または時刻の1つ以上の部分を返します。たとえば、この関数は日付または時刻の年、月、日、時、または分を返すことができます。

    unit の有効な値:secondminutehourdaymonthyearminute_secondhour_secondhour_minuteday_secondday_minuteday_hour、および year_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 で返します。

    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)
  • 説明:この関数は、yeardayofyear パラメーターに基づいて日付を返します。

  • パラメーターの型:

    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)            
  • 説明:この関数は、hourminute、および 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');

    次の情報が返されます。

    +----------------------------------------+
    | 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 ステートメントが実行されたときの月も返すことができます。次の例では、2021年5月に実行された 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

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');                   

    次の情報が返されます。

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

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(seconds)           
  • 説明:この関数は、seconds で指定された秒数を時刻に変換します。

  • パラメーターの型:

    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)
  • 説明:この関数は、指定された時刻の秒部分を返します。有効な値: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

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: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

    select sysdate();                   

    次の情報が返されます。

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

TIME

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

  • パラメーターの型:

    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 の文字列として返します。

    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 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(timestamp '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('22:23:00');                  

    次の情報が返されます。

    +-------------------------+
    | 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 で指定された日付または日時式を日時値として返します。

  • パラメーターの型:

    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)
  • 説明:この関数は、datetime_expr で指定された日付または日時式に interval で指定された間隔を追加します。unitinterval の単位を指定します。

    unit の有効な値:secondminutehourdayweekmonthquarter、および year

  • パラメーターの型:

    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_expr2 で指定された日付または日時式から datetime_expr1 で指定された日付または日時式を減算した後の値を返します。unit は結果の単位を指定します。

    unit の有効な値:secondminutehourdayweekmonthquarter、および year

    この関数は 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() は、協定世界時 (UTC) の 1970年1月1日 00:00:00 から現在の時刻までに経過した秒数を返します。UNIX_TIMESTAMP(date) は、協定世界時 (UTC) の 1970年1月1日 00:00:00 から date で指定された時刻までに経過した秒数を返します。

  • パラメーターの型:

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

  • 例:

    例 1

    select unix_timestamp();

    次の情報が返されます。

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

    例 2

    select 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

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

    次の情報が返されます。

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

    例 5

    select 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()
  • 説明:この関数は、協定世界時 (UTC) のタイムスタンプを返します。

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

  • 例:

    select utc_timestamp();                   

    次の情報が返されます。

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

WEEK

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

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

    • mode は、週番号を計算する方法を指定するオプションのパラメーターです。デフォルトでは週の開始曜日は日曜日ですが、月曜日または日曜日に指定することもできます。次の表に、mode でサポートされているフォーマットを示します。

    mode

    週の最初の日

    週番号の有効な値

    説明

    0

    日曜日

    0~53

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

    1

    月曜日

    0~53

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

    2

    日曜日

    1~53

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

    3

    月曜日

    1~53

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

    4

    日曜日

    0~53

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

    5

    月曜日

    0~53

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

    6

    日曜日

    1~53

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

    7

    月曜日

    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(TIMESTAMP '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('2022-02-27');

    次の情報が返されます。

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

YEARWEEK

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

    select 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 |