<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
    主站蜘蛛池模板: 99久久久国产精品免费无卡顿| 色播在线永久免费视频网站| 99re6在线视频精品免费下载| 亚洲精品乱码久久久久久中文字幕 | 亚洲午夜国产精品| 67pao强力打造国产免费| 麻豆亚洲AV永久无码精品久久| 午夜视频在线免费观看| 78成人精品电影在线播放日韩精品电影一区亚洲 | 亚洲人成电影网站色www| 国产真实伦在线视频免费观看| 国产AV无码专区亚洲AV麻豆丫| 免费国产小视频在线观看| jizz免费在线观看| 亚洲高清国产AV拍精品青青草原| 99久久国产精品免费一区二区| 亚洲精品视频免费看| 在线a毛片免费视频观看| 日本视频免费观看| 亚洲无av在线中文字幕| 在线免费观看国产| 亚洲另类自拍丝袜第五页| 亚洲精品无码成人片在线观看| 国产成人AV免费观看| 亚洲国产精品久久久久秋霞影院| 成人黄动漫画免费网站视频 | 4399好看日本在线电影免费| 一本色道久久88—综合亚洲精品 | 亚洲韩国在线一卡二卡| 在线a毛片免费视频观看| fc2免费人成在线视频| 色噜噜综合亚洲av中文无码| 在线观看特色大片免费视频| 美女扒开尿口给男人爽免费视频 | 欧亚一级毛片免费看| 久久亚洲AV午夜福利精品一区| 在线a级毛片免费视频| 国产人成网在线播放VA免费| 亚洲视频一区在线播放| 亚洲一区二区精品视频| 亚洲日本在线免费观看|