熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

跟我學SQL:串行數據類型

2013-11-15 14:40:19  來源: SQL Server 

  SQL的數據類型決定了一個字段的內容在數據庫中會被如何處理存儲和顯示SQL定義了標准的數據類型目的是給數據庫制造商建立自己的數據類型提供藍圖在前面的文章中我們介紹了一些常用的數據類型這些數據類型分為四大類
  串行
  數值
  日期時間
  區間型
  
  本文將向你概述這些數據類型在數據庫中是如何使用的然後著重解釋串行數據類型這些信息可以作為有用的參考或者作為關於某個數據庫制造商具體產品中數據類型的背景知識
  
  使用數據類型
  當你在數據庫中創建了一個表格你就定義了每列的名字以及要輸入到這些列中的內容的數據類型從先前的文章中借用一個例子
  
  CREATE TABLE Products
  (prod_id INT()AUTO_INCREMENT prod_color VARCHAR()
  prod_descr VARCHAR() prod_size DECIMAL()
  UNIQUE (`prod_id`));
  
  在以上的查詢中定義行prod_color VARCHAR()發出指令要創建一個列名字是prod_color數據類型是VARCHAR長度為
  
  你的數據庫使用和每個類型相關的描述符來區別數據類型例如VARCHAR數據類型的描述符所含的信息將它區別為串行數據型它包含所有的串字符其長度是可變的數據庫裡列的定義還包含了其他信息例如對應於數據類型的特定長度
  
  如前所述每個數據庫制造商都希望在SQL定義的標准上建立自己的數據類型這樣每個數據庫在定義數據類型時都能夠設定自己所需要的最大容量限制和其他屬性許多數據庫使用的數據類型名字和這裡列出來的一樣盡管每種的實現方法都有微小的差別要確定特定數據類型使用方法的細節最好的方法還是查閱數據庫制造商的文檔
  
  已經說過了希望對標准字符串數據類型有更多的了解就往下看
  
  串
  
  有兩種主要的串行數據類型字符和位串行使用數據庫裡由SQL_TEXT所定義的字符SQL_標准同時還提供了NATIONAL CHARACTER(國家字符集)和NATIONAL CHARACTER VARYING(國家字符集變體)這兩者都能使用可定義字符集後者的處理方法和CHARACTER以及CHARACTER VARYING類型一樣
  
  CHARACTER | CHAR
  使用方法CHARACTER(clength) | CHAR(clength)
  
  CHARACTER和CHAR這兩個關鍵字是相同的
  CHARACTER類型一個突出的特點是它們能夠包含這個字符
  CHARACTER 類型包含了固定長度的串字符(來自SQL_TEXT的語言集)clength
   字符在值的長度小於clength時起填充作用這表示CHARACTER字段的長度是固定的
  你可以把CHARACTER的數據類型字段和相同類型的其他允許不同長度的字段比較或者和CHARACTER VARYING 數據類型比較
  有些數據庫允許和數值數據類型比較
  CHARACTER VARYING | CHAR VARYING | VARCHAR
  使用方法CHARACTER VARYING(maxlength) | CHAR VARYING(maxlength) | VARCHAR(maxlength)
  
  CHARACTER VARYINGCHAR VARYING和VARCHAR這幾個關鍵字是相同的
  這些類型能容納最大長度的字符串maxlength
  數據庫把字段的長度作為值的實際長度
  你可以把這些數據類型的字段和相同類型的其他允許不同最大長度的字段比較
  BIT
  
  使用方法BIT(blength)
  
  這種類型包含了帶有長度的位字符(blength例如如果我們使用BIT()樣本值將為
  有的數據庫會在串的開頭插入空位其的則會填充它們以符合固定長度的要求
  位字符是串不是整數
  你可以把BIT數據類型的字段與相同類型的允許不同長度的其它字段比較或者和BIT VARYING數據類型比較
  有些數據庫允許BITS和CHARACTER或者INTEGER類型比較
  BIT VARYING
  
  使用方法 BIT VARYING(maxlength)
  
  這種類型包含了最大長度的位字符maxlength
  所記錄的長度被設為值的實際長度
  數據庫允許和其的BIT VARYING數據字段比較或者和BIT的數據字段比較
  對我們的SQL系列有了一些了解了嗎?
  
  請把你的評論問題或者回應發到下面的討論欄或者如果你有關於SQL基礎系列的論題可以發到我們編輯的信箱
  
  串理論
  數據庫生產商通過建立這些基礎的數據類型來創建你實際要實現的數據類型對於字符串這就可能包括相同名字的(不同)類型例如CHAR或BIT或者擴展到包括TEXTSMALL TEXT以及包含字符串的其他數據類型
  
  數據從一個數據庫遷移到另一個數據庫時這種設計上的彈性產生了一個必須克服的障礙在一個數據庫裡你可能會有一個叫做CHAR的類型這個類型所允許的最大容量大於你要遷移到的數據庫的最大容量而且(SQL)標准中沒有明確定義的類型可能會變化較大這樣的話只用遵從慣例來簡化遷移
  
  在ZDNet China最近的文章《BLOB移植的替換方案》中討論了存在數據類型移植問題時保護數據的一個可能的解決方案SQL標准沒要包括存儲二進制數據的指標這造成了不同數據庫制造商產品間的不兼容軟件開發者必須找到提到方案列清除這些障礙
  
  在這個系列的下一篇文章中我們會看看SQL的數字數據類型每個有什麼特點以及對要實現這些類型的數據庫的要求

From:http://tw.wingwit.com/Article/program/SQLServer/201311/22151.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.