- 9.8. データ型書式設定関数
9. 1 を参照してください。)
to_timestamp において、ミリ秒( MS )およびマイクロ秒( US )フィールドは小数点の後の秒の桁として使用されます。
例えば、 to_timestamp('12. 3', '') は3ミリ秒ではなく300ミリ秒です。なぜなら変換においてこれは12 + 0. 3秒と計算されるからです。
従って 書式に対して入力値 12. 3 、 12. 30 、 12. 300 は同じミリ秒数を指定することになります。
3ミリ秒が必要な場合には 12:003 のようにしなければなりません。この時、変換において12 + 0. 003 = 12. 003秒と計算します。
もう少し複雑な例を挙げます。
to_timestamp('15:12:02. 020. 001230', '') は15時間12分と2秒+20ミリ秒+1230マイクロ秒 = 2. 021230秒です。
to_char(..., 'ID') の曜日番号付けは extract(isodow from... ) 関数に一致しますが、 to_char(..., 'D') の曜日番号付けは extract(dow from... ) の曜日番号付けに一致しません。
to_char(interval) 関数は、 HH と HH12 を12時間の時計に表示されるように整形します。
例えば0時間と36時間はいずれも 12 として出力します。
一方 HH24 は時間の値をそのまま出力し、 interval の値であれば23を超えることも可能です。
表 9. 26 に、数値の書式設定に使用可能なテンプレートパターンを示します。
表9. 26 数値書式用のテンプレートパターン パターン 説明 9 数字の位置(必要ないときは表示しない) 0 数字の位置(必要ないときでも表示する).
9.8. データ型書式設定関数
-->
TH はゼロ未満の値と小数は変換しません。
PL 、 SG 、および TH は PostgreSQL の拡張です。
V は入力値を事実上 10^ n 乗します。
ここで n は V に続く桁数です。
to_char 関数は小数点を含む数値と V との混在をサポートしません(例えば、 99. 9V99 は許可されません)。
表9-24 に、 to_char 関数を使用した例をいくつか示します。
表 9-24. to_char の例 式 出力 to_char(current_timestamp, 'Day, DD HH12:MI:SS') 'Tuesday, 06 05:39:18' to_char(current_timestamp, 'FMDay, FMDD HH12:MI:SS') 'Tuesday, 6 05:39:18' to_char(-0. 1, '99. 99') ' -. 10' to_char(-0. 1, 'FM9. 99') '-. 1' to_char(0. 1, '0. 9') ' 0. 1' to_char(12, '9990999. 9') ' 0012. 0' to_char(12, 'FM9990999. 9') '0012. ' to_char(485, '999') ' 485' to_char(-485, '999') '-485' to_char(485, '9 9 9') ' 4 8 5' to_char(1485, '9, 999') ' 1, 485' to_char(1485, '9G999') ' 1 485' to_char(148. 5, '999. 999') ' 148. 500' to_char(148. 5, 'FM999. 999') '148. 5' to_char(148. 990') '148. 5, '999D999') ' 148, 500' to_char(3148. 5, '9G999D999') ' 3 148, 500' to_char(-485, '999S') '485-' to_char(-485, '999MI') '485-' to_char(485, '999MI') '485 ' to_char(485, 'FM999MI') '485' to_char(485, 'PL999') '+485' to_char(485, 'SG999') '+485' to_char(-485, 'SG999') '-485' to_char(-485, '9SG99') '4-85' to_char(-485, '999PR') '<485>' to_char(485, 'L999') 'DM 485 to_char(485, 'RN') ' CDLXXXV' to_char(485, 'FMRN') 'CDLXXXV' to_char(5.
3と計算されるからです。ということは、 SS:MS 書式に対して入力値である 12:3 、 12:30 、および 12:300 は同じミリ秒数を指定します。3ミリ秒数が必要な場合には 12:003 のようにしなければなりません。この時、変換において12 + 0. 003 = 12. 003秒と計算します。
もう少し複雑な例を挙げます。
to_timestamp('15:12:02. 020. 001230', '') は15時間12分と2秒+20ミリ秒+1230マイクロ秒 = 2. 021230秒です。
to_char 関数の曜日指定番号('D'書式パターンを参照)は extract 関数の番号と異なっています。
to_char(interval) 関数は一日の時間を HH と
HH12 のようにフォーマットします。一方 HH24 は一日を越える時間を >24 のように出力します。
表9-23 に、数値型の値の書式設定に使用可能なテンプレートパターンを示します。
表 9-23. 数値書式用のテンプレートパターン パターン 説明 9 指定された桁数での値 0 前にゼロが付いた値.
- エスビー食品 / とろっとワンプレート ドリアミート/チーズィーチキン コメント一覧 - モラタメ
- 昔 処刑場 だった土地 東京
- 家に押しかけてきたJKとAV鑑賞会したらエッチまで持ち込めたので隠し撮りしたったwww | 隠しドリアン
- 公立中高校一貫校 適性検査 地頭
- モーニング 娘 モーニング 娘 all singles complete 10th anniversary
- 美 ちょこ ら コラーゲン 口コピー
- JTWC米軍台風進路予想アプリ Typhoon! Radarのおすすめアプリ - Android | APPLION
- レザークラフト 名刺入れ 型紙 無料
24 に、日付/時刻型の値の書式に使用可能なテンプレートパターンを示します。
表9.
PostgreSQL の書式設定関数は多彩なデータ型(日付/時刻データ型、整数データ型、浮動小数点数データ型、数値データ型)を整形された文字列に変換したり、整形された文字列を特定のデータ型に変換する強力なツールの一式を提供しています。 表9-20 にこれらを列挙しています。これら関数は共通の呼び出し規約を踏襲しています。最初の引数は整形される値で2番目の引数は入力書式または出力書式を定義するテンプレートです。
to_timestamp 関数はUnix時刻から timestamp with time zone に変換するただ一つの double precision 引数を取ることもできます。( int Unix時刻は暗黙的に double precision にキャストされます。)
表 9-20. 書式設定関数 関数 戻り値 説明 例 to_char ( timestamp, text) text タイムスタンプを文字列に変換 to_char(current_timestamp, 'HH12:MI:SS') to_char ( interval, text) text 時間間隔を文字列に変換 to_char(interval '15h 2m 12s', 'HH24:MI:SS') to_char ( int, text) text 整数を文字列に変換 to_char(125, '999') to_char ( double precision,
text) text 実数、倍精度数を文字列に変換 to_char(125. 8::real, '999D9') to_char ( numeric, text) text 数値を文字列に変換 to_char(-125. 8, '999D99S') to_date ( text, text) date 文字列を日付に変換 to_date('05 Dec 2000', 'DD Mon YYYY') to_timestamp ( text, text) timestamp with time zone 文字列をタイムスタンプに変換 to_timestamp('05 Dec 2000', 'DD Mon YYYY') to_timestamp ( double precision) timestamp with time zone UNIX時刻をタイムスタンプに変換 to_timestamp(200120400) to_number ( text, text) numeric 文字列を数値に変換 to_number('12, 454.