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

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

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

    posts - 297,  comments - 1618,  trackbacks - 0
    一.  內建的數據類型
         1.  數字相關
               1)INTEGER
               整型,范圍為:-2147483647-2147483648
               2)SMALLINT
               短整型,-32767-32767
               3)BIGINT

               4)SERIALSERIAL8BIGSERIAL
               這三種類型都會自動產生數據,并且用戶可選擇是否提供初始值.
               不同之處在于:
               SERIAL類型的數據占用4個字節的存儲空間;
               SERIAL8類型的數據一般情況下占用10個字節的存儲空間(在Extended Parallel Server中占用8個字節的存儲空間);
               BIGSERIAL類型的數據占用8個字節的存儲空間。 
               eg1. 創建一個表route_rule,它的主鍵rule_id是屬于SERIAL自增類型的,參考建表語句如下:
    create table route_rule 

      rule_id       serial 
    not null,
      
    rule             varchar(128not null,
      action        
    varchar(32not null,
      route_arg 
    varchar(32),
      
    primary key (rule_id) constraint PK_ROUTE_RULE
    );
              eg2. 如何查詢serial型字段的當前值?
               5)DECIMAL(p,s)
               其中p是整個數據的有效位,s是小數點后位數,1<p<32,s可以為0。不指定時默認為16位。
               eg1:在如下實例中,創建了human_task_exp表,其中probability為雙精度類型:
    create table human_task_exp(
      serviceid   
    VARCHAR(30not null,
      seconds     
    INTEGER default 0 not null,
      probability 
    DECIMAL(16,14default 0)
    )
               6)FLOAT、SMALLFLOAT
               這兩種類型的數據使用于不要求精度而要求量值的場合,如科學計算,FLOAT雙精度數,通常占8個字節,有16位十進制有效位,而smallint為單精度數,占4字節,8位十進制有效位。但數值超出精度范圍,則都看作0處理
               7)MONEY(p, s)
               同decimal完全相同,但顯示money類型時候會自動顯示現金符號,默認是$。

        2. 時間相關
               1)DATE
               日期型,隨數據庫不同而不同.
                eg1.  test_date表中包含一個birthday的日期字段,可以通過如下語句插入:
               創建表的語句參考如下:
    CREATE TABLE test_date(birthday date);

              插入記錄(一條生日為1982年11月21日的數據)的語句參考如下:

    insert into test_date values('11/21/1982');
              也可通過如下語句執行如上語句相同的結果:
    insert into test_date values(date('11/21/1982'));
               eg2.  將DATE類型的數據轉換為指定的字符類型
               例如將上面的11/21/1982變成1982-11-21的類型.語句如下:
    select TO_CHAR(birthday, '%Y-%m-%d'from test_date;
               eg3. 獲得當前日期
    select today from test_date;
               eg4. 日期相加減,得到天數,例如將test_date中的當前日期-birthday字段,可得到出生天數,語句如下:
    select to_date(to_char(today,'%Y-%m-%d'),'%Y-%m-%d'- to_date(to_char(birthday,'%Y-%m-%d'),'%Y-%m-%d'from test_date;
               對于1982-11-21,可得到如下的返回結果(oh,my god,我已經出生那么多天咯):
    10211 00:00:00.00000
               2)DATETIME
               用于記錄時間點,表示的精度可以任意指定,可以包含年份、月份、日。
               eg1.  將表test_datetime的字段birthtime定義為DATETIME類型,建表語句參考如下:
    create table test_datetime(birthtime datetime year to fraction(2));
               eg2. 若要在該表中插入一條1982-11-21 12:20:00的數據:
    insert into test_datetime values('1982-11-21 12:20:00');
               eg3. 插入eg2中同樣的記錄,還可以使用如下語句:
    insert into test_datetime values(datetime(1982-11-21 12:20:00.79year to fraction(2));
               eg4. 將DATE類型的數據轉換為指定的字符類型:
    select TO_CHAR(birthtime, '%Y-%m-%d %H:%M:%S'from test_datetime;
                上面的出生時間的如上語句的結果如下:
    1982-11-21 12:20:00
             3)INTERVAL
             interval類型的數值用于表示兩個時間點之間的間隔. 
             eg1. 將表test_interval的字段interval_filed字段定義為INTERVAL類型,并且只包含“時:分:秒”,建表語句參考如下:
    create table test_interval(interval_filed interval hour to second);
              eg2. 在上面創建的表中插入一條記錄,時間是12:20:05,語句參考如下:
    insert into test_interval values ('12:20:05');
              eg3. 達到如上語句相同的結果也可以使用到interval函數,語句參考如下:
    insert into test_interval values(interval(12:20:05) hour to second);
              eg4. 將INTERVAL類型轉換為指定的字符類型(HH:MM:SS格式,直接查詢就是這個格式,嘻嘻),語句參考如下:
    select * from test_interval;
              運行結果就是:12:20:05。

        3. 字符相關
               1)VARCHAR(n, r)
               存儲變長字符型,最長255字節。
               2)CHAR(n)
               定義寬度為n的字符字段,最長255。
               3)NCHAR(n)
               同char,但允許GLS應用程序的不同排序順序。
               4)NVARCHAR(m, r)
               同varchar,但允許GLS應用程序的不同排序順序。
               5)LVARCHAR(m)
               存儲變長字符串,最大32739個字節.
               6)CHARACTER VARYING(n, r)
               存儲用戶定義的數據類型,其內部結構對于數據庫服務器不透明,即不可存取。
         4.  大對象相關
               1)BYTE
               二進制數據,最大2的31次方字節。byte用于存儲任意數據,一般用來存儲圖片和聲音文件等。
               2)TEXT
               文本型,最大2的31次方字節。
               3)BLOB
               以隨機存取塊的形式存儲二進制數據。
               4)CLOB
               以隨機存取塊的形式存儲文本數據。
         5. MISC
               1)BOOLEAN 
               存儲布爾值true和false。


    二.  復雜對象類型(complex data type)
         1、復雜數據類型
         由一個或多個數據類型組合而成。復雜數據類型有row數據類型、集合數據類型。
         2、Row數據類型
         由一個或多個任意的數據類型組成;
         eg1. 如下創建一個patient的Row數據類型,具有integer類型的num和char類型的name字段,參考語句如下:
    CREATE ROW TYPE patient
    (
    num 
    int,
    name 
    char(30)
    );
        3、集合數據類型
         由一個或多個同樣的數據類型集合組成,包括SET、LIST和MULTISET。
         1)SET(e)數據類型
         存儲元素的非排序集合,所有元素都具有同一類型e;不允許重復值.
         eg1、在如下表中將description字段定義為SET類型,參考語句如下:
    CREATE TABLE employee
    (
    name 
    CHAR(30),
    salary 
    INTEGER,
    description 
    SET(VARCHAR(100NOT NULL)
    );
        eg2. 如何插入SET類型的數據?

        eg3. 如何查詢SET類型的數據?

        2)LIST(e)數據類型
        存儲元素的排序集合,所有元素都具有同一類型e;允許重復值.
        eg1. 創建一個test_list的表,該表的col1是LIST(varcahr)數據類型,建表語句參考如下:
    create table test_list

    col1 list(
    varchar(30not null), 
    col2 
    DECIMAL(18,6), 
    col3 
    char(18)
    );
       eg2.  如何插入LIST類型的值?
       
       eg3. 如何查詢LIST類型的值?

       3)MULTISET(e)數據類型
        存儲元素的非排序集合,所有元素都具有同一類型e;允許重復值。

    三.  自定義對象類型(User Defined Datatypes)
        1、Distinct

        2、Opaque

    posted on 2010-11-04 17:31 阿蜜果 閱讀(11089) 評論(1)  編輯  收藏 所屬分類: database


    FeedBack:
    # re: informix的數據類型和舉例
    2014-06-13 19:28 | 姚智博
    如何刪除 row type 類型呀,在一個過程里面創建了row type類型,再次執行過程的話就報已經存在了。  回復  更多評論
      
    <2010年11月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

          生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
          我的作品:
          玩轉Axure RP  (2015年12月出版)
          

          Power Designer系統分析與建模實戰  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關注blog

    積分與排名

    • 積分 - 2294296
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲高清有码中文字| 一级中文字幕免费乱码专区 | 免费人人潮人人爽一区二区| 亚洲男人第一无码aⅴ网站| 久久久久久成人毛片免费看| 国产精品亚洲自在线播放页码| 免费一级毛片在线观看 | 亚洲综合国产精品第一页| 免费A级毛片无码A∨| 亚洲欧美在线x视频| 久久亚洲伊人中字综合精品| 毛片a级三毛片免费播放| 亚洲日韩在线观看免费视频| 亚洲国色天香视频| 亚洲一区二区视频在线观看| A在线观看免费网站大全| 国产福利免费视频 | 亚洲精品97久久中文字幕无码| 最近中文字幕mv免费高清视频8| 阿v视频免费在线观看| 亚洲成av人片不卡无码| 亚洲中文字幕丝袜制服一区| 在线不卡免费视频| 99久热只有精品视频免费观看17| 日本一区二区三区在线视频观看免费 | 一级中文字幕免费乱码专区| 国产精品亚洲四区在线观看| 亚洲成av人片天堂网| 国产午夜免费福利红片| 蜜桃AV无码免费看永久| 中文字幕不卡高清免费| 老牛精品亚洲成av人片| 亚洲国产熟亚洲女视频| 亚洲国产国产综合一区首页| 久久影视国产亚洲| 免费二级毛片免费完整视频| 在线免费观看一级毛片| 久久久久久99av无码免费网站| 2021在线观看视频精品免费| 久久久国产精品福利免费| 国产JIZZ中国JIZZ免费看|