<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

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产精品亚洲精品日韩电影| 国产精品亚洲аv无码播放| 亚洲av永久无码精品国产精品| 无套内射无矿码免费看黄| 免费看国产一级特黄aa大片| 亚洲高清乱码午夜电影网| 免费下载成人电影| 亚洲国产精品人久久电影| 免费AA片少妇人AA片直播| 亚洲国产成人精品激情| 好吊妞788免费视频播放| 亚洲日韩国产欧美一区二区三区| 免费无码肉片在线观看| 亚洲色成人四虎在线观看| 精品久久久久久久免费人妻| 在线观看亚洲电影| 亚洲精品无码久久不卡| 亚洲精品黄色视频在线观看免费资源| 国产性爱在线观看亚洲黄色一级片 | 亚洲乱亚洲乱妇无码麻豆| 免费无码黄网站在线看| 亚洲精品无码不卡| 四虎在线最新永久免费| 亚洲一日韩欧美中文字幕在线| 国内外成人免费视频| 真人无码作爱免费视频| 最新精品亚洲成a人在线观看| 国产情侣久久久久aⅴ免费| 亚洲黄色网址大全| 成年丰满熟妇午夜免费视频| 国产亚洲漂亮白嫩美女在线| 亚洲自偷自偷偷色无码中文| 99久在线国内在线播放免费观看| 亚洲精品视频久久| 国产成人免费片在线观看| CAOPORN国产精品免费视频| 亚洲欧洲自拍拍偷综合| 国产高清免费的视频| 美女视频黄的免费视频网页| 亚洲av专区无码观看精品天堂| 亚洲AV无码一区二区三区在线观看|