postgresqlの中のto_char()常用操作

1128 ワード

postgresqlの中のto_char()の使い方はOracleに比べて一つのパラメータが多くなりました。

to_char(変換対象値、変換形式)
常用変換フォーマットは2つあります。
一つはいくつかの0を書くので、もし変換するべき値の桁数があなたの定義した変換フォーマットの桁数より少ないならば、出力値は自動的に左で0を補って、桁数は変換フォーマットの長さに補間します。変換する値の桁数が定義されている変換フォーマットの桁数より多い場合、出力値は「璣氡(長さはあなたが定義する変換フォーマットと同じ)」です。
もう一つはいくつかの9を書くことです。もし変換される値の桁数が定義された変換フォーマットの桁数より少ないなら、正常に出力します。
変換する値の桁数が定義されている変換フォーマットの桁数より多い場合、出力値は:((長さはあなたが定義する変換フォーマットと同じ)です。
変換フォーマットに他の数字を書くと、変換形式の値が出力されます。
追加:Postgresqlでto_を使用します。charがyyyy-M-dd HH:mm:ss変換を行う時に注意する問題
javaやいくつかのよく使われているデータの中で、年月日分秒変換を行う時は、「mysql/sqlsever」を使います。

SELECT to_char(CURRENT_DATE,'yyyy-MM-dd hh:MM:ss')
しかし、Postgresqlでこのように使うと問題が発生します。pgでは上記の文を実行して返した結果は
2015-05-06 12:05:00
見ました。これは私達が欲しいものではないですが、どうすればいいですか?pgでは次の方法を使います。

SELECT to_char(CURRENT_DATE,'yyyy-MM-dd hh24:MI:ss')
結果は以下のとおりです
2015-05-06 00:00:00
これこそ私達が結果をほしがっているのです。当然のこととは思えません。すべてのデータベースは同じです。
以上は個人の経験ですので、参考にしていただければと思います。間違いがあったり、完全に考えていないところがあれば、教えてください。