日付を文字列にする
ORACLEではシステム日付を文字列に変換する場合以下のように記述します
SELECT TO_CHAR( SYSDATE , 'YYYYMMDD' ) from dual;
MySQLの場合は下記のようになります。
SELECT DATE_FORMAT( now() , '%Y%m%d' )
MySQLの場合dual表の指定は必要ありません。
書式文字列(%Y%m%d)については下記を参照してください。
https://dev.mysql.com/doc/refman/5.6/ja/date-and-time-functions.html
指定子 | 説明 |
---|---|
%a |
簡略曜日名 (Sun ..Sat ) |
%b |
簡略月名 (Jan ..Dec ) |
%c |
月、数字 (0 ..12 ) |
%D |
英語のサフィクスを持つ日付 (0th , 1st , 2nd , 3rd , …) |
%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 |
AM または PM |
%r |
時間、12 時間単位 (hh:mm:ss に AM または PM が続く) |
%S |
秒 (00 ..59 ) |
%s |
秒 (00 ..59 ) |
%T |
時間、24 時間単位 (hh:mm:ss ) |
%U |
週 (00 ..53 )、日曜日が週の初日、WEEK() モード 0 |
%u |
週 (00 ..53 )、月曜日が週の初日、WEEK() モード 1 |
%V |
週 (01 ..53 )、日曜日が週の初日、WEEK() モード 2、%X とともに使用 |
%v |
週 (01 ..53 )、月曜日が週の初日、WEEK() モード 3、%x とともに使用 |
%W |
曜日名 (Sunday ..Saturday ) |
%w |
曜日 (0 =Sunday..6 =Saturday) |
%X |
年間の週、日曜日が週の初日、数字、4 桁、%V とともに使用 |
%x |
年間の週、月曜日が週の初日、数字、4 桁、%v とともに使用 |
%Y |
年、数字、4 桁 |
%y |
年、数字 (2 桁) |
%% |
リテラル 「% 」 文字 |
% |
x (上記にないすべての 「x 」) |
また、書式文字列に年やスラッシュなどを含め、
SELECT DATE_FORMAT( now() , '%Y年%m月%d日' )
のように記述することもできます。
文字列を日付に変換する
oracleで文字列を日付に変換する場合下記のように記述します。
SELECT TO_DATE( '2016-04-25' , 'YYYY-MM-DD') from dual
MySQLの場合は下記のように記述します。
select str_to_date( '2016-04-25' , '%Y-%m-%d')