<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-314  評論-209  文章-0  trackbacks-0
    Postgres 格式化函數提供一套有效的工具用于把各種數據類型(日期/時間,int,float,numeric)轉換成格式化的字符串以及反過來從格式化的字符串轉換成原始的數據類型。
    注意:所有格式化函數的第二個參數是用于轉換的模板。
    表 5-7. 格式化函數 
     
    函數返回描述例子
    to_char(timestamp, text)text把 timestamp 轉換成 stringto_char(timestamp 'now','HH12:MI:SS')
    to_char(int, text)text把 int4/int8 轉換成 stringto_char(125, '999')
    to_char(float, text)text把 float4/float8 轉換成 stringto_char(125.8, '999D9')
    to_char(numeric, text)text把 numeric 轉換成 stringto_char(numeric '-125.8', '999D99S')
    to_date(text, text)date把 string 轉換成 dateto_date('05 Dec 2000', 'DD Mon YYYY')
    to_timestamp(text, text)date把 string 轉換成 timestampto_timestamp('05 Dec 2000', 'DD Mon YYYY')
    to_number(text, text)numeric把 string 轉換成 numericto_number('12,454.8-', '99G999D9S')

    表 5-8. 用于 date/time 轉換的模板 
     

    模板描述
    HH一天的小時數 (01-12)
    HH12一天的小時數 (01-12)
    HH24一天的小時數 (00-23)
    MI分鐘 (00-59)
    SS秒 (00-59)
    SSSS午夜后的秒 (0-86399)
    AM or A.M. or PM or P.M.正午標識(大寫)
    am or a.m. or pm or p.m.正午標識(小寫)
    Y,YYY帶逗號的年(4 和更多位)
    YYYY年(4和更多位)
    YYY年的后三位
    YY年的后兩位
    Y年的最后一位
    BC or B.C. or AD or A.D.年標識(大寫)
    bc or b.c. or ad or a.d.年標識(小寫)
    MONTH全長大寫月份名(9字符)
    Month全長混合大小寫月份名(9字符)
    month全長小寫月份名(9字符)
    MON大寫縮寫月份名(3字符)
    Mon縮寫混合大小寫月份名(3字符)
    mon小寫縮寫月份名(3字符)
    MM月份 (01-12)
    DAY全長大寫日期名(9字符)
    Day全長混合大小寫日期名(9字符)
    day全長小寫日期名(9字符)
    DY縮寫大寫日期名(3字符)
    Dy縮寫混合大小寫日期名(3字符)
    dy縮寫小寫日期名(3字符)
    DDD一年里的日子(001-366)
    DD一個月里的日子(01-31)
    D一周里的日子(1-7;SUN=1)
    W一個月里的周數
    WW一年里的周數
    CC世紀(2 位)
    JJulian 日期(自公元前4712年1月1日來的日期)
    Q季度
    RM羅馬數字的月份(I-XII;I=JAN)-大寫
    rm羅馬數字的月份(I-XII;I=JAN)-小寫

    所有模板都都允許使用前綴和后綴修改器。模板里總是允許使用修改器。前綴 'FX' 只是一個全局修改器。

    表 5-9. 用于日期/時間模板 to_char() 的后綴 
     

    后綴描述例子
    FM填充模式前綴FMMonth
    TH大寫順序數后綴DDTH
    th小寫順序數后綴DDTH
    FX固定模式全局選項(見下面)FX Month DD Day
    SP拼寫模式(還未實現)DDSP

    用法須知:

    • 如果沒有使用 FX 選項,to_timestamp 和 to_date 忽略空白。FX 必須做為模板里的第一個條目聲明。
    • 反斜杠("\")必須用做雙反斜杠("\\"),例如 '\\HH\\MI\\SS'
    • 雙引號('"')之間的字串被忽略并且不被分析。如果你想向輸出寫雙引號,你必須在雙引號前面放置一個雙反斜杠('\\'),例如 '\\"YYYY Month\\"'
    • to_char 支持不帶前導雙引號('"')的文本,但是在雙引號之間的任何字串會被迅速處理并且還保證不會被當作模板關鍵字解釋(例如:'"Hello Year: "YYYY')。
    表 5-10. 用于 to_char(numeric) 的模板 
     
    模板描述
    9帶有指定位數的值
    0前導零的值
    . (句點)小數
    , (逗號)分組(千)分隔符
    PR尖括號內負值
    S帶負號的負值(使用本地化)
    L貨幣符號(使用本地化)
    D小數點(使用本地化)
    G分組分隔符(使用本地化)
    MI在指明的位置的負號(如果數字 < 0)
    PL在指明的位置的正號(如果數字 > 0)
    SG在指明的位置的正/負號
    RN羅馬數字(輸入在 1 和 3999 之間)
    TH or th轉換成序數
    V移動 n 位(小數)(參閱注解)
    EEEE科學記數。現在不支持。

    用法須知:

    • 使用 'SG','PL' 或 'MI' 的帶符號字并不附著在數字上面;例如,to_char(-12, 'S9999') 生成 ' -12',而 to_char(-12, 'MI9999') 生成 '- 12'Oracle 里的實現不允許在 9 前面使用 MI,而是要求 9 在 MI 前面。
    • PLSG,和 TH 是 Postgres 擴展。
    • 9 表明一個與在 9 字串里面的一樣的數字位數。如果沒有可用的數字,那么使用一個空白(空格)。
    • TH 不轉換小于零的值,也不轉換小數TH 是一個 Postgres 擴展。
    • V 方便地把輸入值乘以 10^n,這里 n 是跟在 V 后面的數字。to_char 不支持把 V 與一個小數點綁在一起使用(例如. "99.9V99" 是不允許的)。
    表 5-11. to_char 例子 
     
    輸入輸出
    to_char(now(),'Day, HH12:MI:SS')'Tuesday , 05:39:18'
    to_char(now(),'FMDay, HH12:MI:SS')'Tuesday, 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,'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,'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.2,'FMRN')V
    to_char(482,'999th')' 482nd'
    to_char(485, '"Good number:"999')'Good number: 485'
    to_char(485.8,'"Pre-decimal:"999" Post-decimal:" .999')'Pre-decimal: 485 Post-decimal: .800'
    to_char(12,'99V999')' 12000'
    to_char(12.4,'99V999')' 12400'
    to_char(12.45, '99V9')' 125'
    posted on 2012-03-20 09:09 xzc 閱讀(4689) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 国产成人精品免费大全| 亚洲中文字幕在线乱码| 77777_亚洲午夜久久多人| 亚洲av无码成人精品区在线播放| 一级一片免费视频播放| 亚洲中文字幕久久精品无码A| 色拍自拍亚洲综合图区| 中文字幕在亚洲第一在线| 免费观看理论片毛片| 久久国产美女免费观看精品| 1区1区3区4区产品亚洲| 亚洲理论电影在线观看| 国产精品无码免费播放| 亚洲免费网站在线观看| 激情无码亚洲一区二区三区 | 亚洲Av无码精品色午夜| 免费v片视频在线观看视频| 免费看又爽又黄禁片视频1000| 国产成人免费高清激情明星| 国内精品免费在线观看| 毛片免费在线观看| 国产色无码精品视频免费| 亚洲精品一卡2卡3卡四卡乱码| 亚洲免费人成视频观看| 亚洲精品综合久久| 99无码人妻一区二区三区免费| 国产亚洲视频在线观看网址| 亚洲国产精品成人综合色在线| 亚洲产国偷V产偷V自拍色戒 | 九九久久国产精品免费热6| 国产亚洲成在线播放va| 美女羞羞喷液视频免费| 免费播放美女一级毛片| 三级片免费观看久久| 国产成+人+综合+亚洲专| 亚洲人成在线播放| 亚洲色偷偷综合亚洲AV伊人蜜桃| 国产精品亚洲综合久久| 亚洲第一福利视频| 夜色阁亚洲一区二区三区| 亚洲不卡无码av中文字幕|