(8.0.32)
https://dev.mysql.com/doc/refman/8.0/ja/date-and-time-functions.html
文字列→日時
SELECT STR_TO_DATE('2023-04-18 21:49:11','%Y-%m-%d %H:%i:%s');
日時→文字列
SELECT DATE_FORMAT( now(), '%Y-%m-%d %H:%i:%s');
年
select extract(year from now() );
月
select extract(month from now() );
日
select extract(day from now() );
時
select extract(hour from now() );
分
select extract(minute from now() );
秒
select extract(second from now() );
前月末
select last_day( date_add(now() ,interval -1 month) );
当月1日
select date_add(last_day( date_add(now() ,interval -1 month) ), interval +1 day);
当月末
select last_day(now() );
翌月1日
select date_add(last_day(now() ), interval +1 day);
1分後
select date_add(now(),interval 1 minute);
1時間後
select date_add(now(),interval 1 hour);
1日後
select date_add(now(),interval 1 day);
1月後
select date_add(now(),interval 1 month);
1年後
select date_add(now(),interval 12 month);
日付差
SELECT DATEDIFF(now(),'2023-01-01');
(19c)
alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';
alter session set nls_timestamp_format='YYYY/MM/DD HH24:MI:SS.FF3';
文字列→日時
select to_date('2023-04-18 21:49:11','YYYY-MM-DD HH24:MI:SS') from dual;
select to_timestamp('2023-04-18 21:49:11','YYYY-MM-DD HH24:MI:SS') from dual;
日時→文字列
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
select to_char(systimestamp,'YYYY-MM-DD HH24:MI:SS.FF6') from dual;
年
select extract(year from systimestamp) from dual;
月
select extract(month from systimestamp) from dual;
日
select extract(day from systimestamp) from dual;
時 UTC
select extract(hour from systimestamp) from dual;
分
select extract(minute from systimestamp) from dual;
秒
select extract(second from systimestamp) from dual;
前月末
select last_day( add_months(sysdate,-1) ) from dual;
当月1日
select last_day( add_months(sysdate,-1) )+1 from dual;
当月末
select last_day(sysdate) from dual;
翌月1日
select last_day(sysdate)+1 from dual;
1分後
select sysdate + 1/(24*60) from dual;
1時間後
select sysdate + 1/24 from dual;
1日後
select sysdate + 1 from dual;
1月後
select add_months(sysdate,1) from dual;
1年後
select add_months(sysdate,12) from dual;
日付差
select sysdate - to_date('2023-01-01','YYYY-MM-DD') from dual;
(15)
https://www.postgresql.jp/document/14/html/functions-datetime.html
https://www.postgresql.jp/document/14/html/functions-formatting.html
文字列→日時
select to_date('2023-04-18','YYYY-MM-DD');
select to_timestamp('2023-04-18 21:49:11','YYYY-MM-DD HH24:MI:SS');
日時→文字列
select to_char(clock_timestamp(),'YYYY-MM-DD HH24:MI:SS');
select to_char(clock_timestamp(),'YYYY-MM-DD HH24:MI:SS.FF6');
年
select extract(year from clock_timestamp() );
月
select extract(month from clock_timestamp() );
日
select extract(day from clock_timestamp() );
時
select extract(hour from clock_timestamp() );
分
select extract(minute from clock_timestamp() );
秒
select extract(second from clock_timestamp() );
前月末
select date_trunc('month', clock_timestamp() ) + interval '-1 day';
当月1日
select date_trunc('month', clock_timestamp() );
当月末
select date_trunc('month', clock_timestamp() + interval '1 month') + interval '-1 day';
翌月1日
select date_trunc('month', clock_timestamp() + interval '1 month');
1分後
select clock_timestamp() + interval '1 minute';
1時間後
select clock_timestamp() + interval '1 hour';
1日後
select clock_timestamp() + interval '1 day';
1月後
select clock_timestamp() + interval '1 month';
1年後
select clock_timestamp() + interval '1 year';
日付差
select clock_timestamp() - to_date('2023-01-01','YYYY-MM-DD');
(2022)
https://www.projectgroup.info/tips/SQLServer/SQL/SQL000016.html
https://sql55.com/query/get-first-and-last-day-of-a-month.php
文字列→日時
select cast('2023-04-18' as datetime2);
select cast('2023-04-18 21:49:11' as datetime2);
日時→文字列
select convert(datetime2, getdate(), 23);
select format(getdate(),'yyyy/MM/dd HH:mm:ss');
年
select datepart(year , getdate() );
月
select datepart(month , getdate() );
日
select datepart(day , getdate() );
時
select datepart(hour , getdate() );
分
select datepart(minute , getdate() );
秒
select datepart(second , getdate() );
前月末
select eomonth(getdate(), -1);
当月1日
select dateadd(dd, 1, eomonth(getdate() , -1) );
当月末
select eomonth( getdate() );
翌月1日
select dateadd(dd, 1, eomonth(getdate() ) );
1分後
select dateadd(minute,1,getdate() );
1時間後
select dateadd(hour,1,getdate() );
1日後
select dateadd(day,1,getdate() );
1月後
select dateadd(month,1,getdate() );
1年後
select dateadd(year,1,getdate() );
日付差
select datediff(day,cast('2023-01-01' as datetime2), getdate() );