開発
2013/10/10
MySQLとPostgreSQLの違い:文字列を日付に変換するの巻
shimizu
MySQLとPostgreSQLとでは、問い合わせ言語としてどちらもSQLを採用しているとはいえ、同じことをやろうとしても「方言」と呼ぶべき書き方の違いがあります。今日は「文字列を任意の形式で日付として解釈する」際の違いについて紹介します。
例えば、文字列型の「年」「月」「日」が別の列に入っており、それを結合して日付の値として扱いたいときに役に立ちます。
MySQLの場合
STR_TO_DATE関数を使います。第1引数に対象の文字列、第2引数に日付フォーマットを指定します。
-- 例:
SELECT STR_TO_DATE('2013/10/10','%Y/%m/%d');
-- 結果:
+--------------------------------------+
| STR_TO_DATE('2013/10/10','%Y/%m/%d') |
+--------------------------------------+
| 2013-10-10 |
+--------------------------------------+
PostgreSQLの場合
TO_DATE関数を使います。第1引数に対象の文字列、第2引数に日付フォーマットを指定します。
-- 例:
SELECT TO_DATE('2013/10/10', 'YYYY/MM/DD');
-- 結果:
to_date
------------
2013-10-10
関数名だけでなく、日付フォーマットの書式が両者で異なるので、ご注意ください。
出典元:MySQL STR_TO_DATE Function – Features, Examples and Equivalents – SQLines
2024/09/13
2024/05/17
2024/05/10
2024/01/05
2023/08/18
2023/07/14
2023/05/12