SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【php】PDO Oracle 日付型データ取得時の形式指定

問題

OracleにPDOで接続してデータを取得しているのですが、日付が ‘yy-mm-dd’ 形式になってしまって面倒です。

MySQLのdatetime型みたいに ‘年月日時分秒’ にならないですか。

答え

PDOのオプションには見当たらないので、Oracleに接続後、以下のSQLを実行して設定を変えるとよい。

$oracle = new PDO(接続文字列, ユーザー, パスワード, オプション);
$oracle->exec("alter session set NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi:ss'");

その後は普通に SELECT すると ‘2015-12-01 12:34:56’ のような形で取得できます。

関連するメモ

コメント