PHP での Oracle 日付型データのクエリで問題が発生しました?
oci 関数を使用して Oracle データをクエリするときに、pl/sql を使用して Oracle データベース内のデータをクエリすると、
2009-9 が表示されました。 -29 12:12:12
しかし、ステートメント select * from tablename クエリを通じて、oci_fetch_array() 関数を使用して取得された time フィールドの値は
30- September-09
すみません、変換方法この形式のフィールドを上記のフィールドに挿入するか、PHP で上記の形式の時刻フィールドを取得するにはどうすればよいですか?
クエリ時に時刻フィールドがどのフィールドであるかわからないため、Oracle ライブラリの time 関数を使用して指定されたフィールドを変換することはできません。PHP で変換するのが最善です。
アドバイスとアドバイスをお願いします。本当にありがとうございます。
-----解決策--------------------------------
時刻を格納するフィールドが int 型を使用している場合は、データベースに挿入するときに時刻がタイムスタンプに変換され、読み取り後にタイムスタンプを使用して時刻に復元されます。これは、クエリ時間の効率を向上させるためです。上記のような状況を回避することもできます。
------解決策------------------
oralce の公式 php サンプルをご覧ください:
http://www.oracle.com/technology/global/cn/pub/articles/oracle_php_cookbook/fuecks_dates.html
よろしくお願いしますこれを試してみてください(私の理解です):
select name,to_char(regtime,'DD-MM-YYYY HH:MI:SS') from tablename;
------解決策---------
3階の正解