程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 跟我學SQL:(六)串行數據類型

跟我學SQL:(六)串行數據類型

編輯:關於SqlServer
SQL的數據類型決定了一個字段的內容在數據庫中會被如何處理、存儲和顯示。SQL92定義了標准的數據類型,目的是給數據庫制造商建立自己的數據類型提供藍圖。在前面的文章中,我們介紹了一些常用的數據類型,這些數據類型分為四大類:
串行
數值
日期時間
區間型

本文將向你概述這些數據類型在數據庫中是如何使用的,然後著重解釋串行數據類型。這些信息可以作為有用的參考,或者作為關於某個數據庫制造商具體產品中數據類型的背景知識。

使用數據類型
當你在數據庫中創建了一個表格,你就定義了每列的名字以及要輸入到這些列中的內容的數據類型。從先前的文章中借用一個例子:

CREATE TABLE Products
(prod_id INT(16)AUTO_INCREMENT, prod_color VARCHAR(20),
prod_descr VARCHAR(255), prod_size DECIMAL(8,2),
UNIQUE (`prod_id`));

在以上的查詢中,定義行prod_color VARCHAR(20)發出指令要創建一個列,名字是prod_color,數據類型是VARCHAR,長度為20。

你的數據庫使用和每個類型相關的描述符來區別數據類型。例如,VARCHAR數據類型的描述符所含的信息將它區別為串行數據型,它包含所有的串字符,其長度是可變的。數據庫裡列的定義還包含了其他信息,例如對應於數據類型的特定長度。

如前所述,每個數據庫制造商都希望在SQL92定義的標准上建立自己的數據類型。這樣每個數據庫在定義數據類型時都能夠設定自己所需要的最大容量限制和其他屬性。許多數據庫使用的數據類型名字和這裡列出來的一樣,盡管每種的實現方法都有微小的差別。要確定特定數據類型使用方法的細節最好的方法還是查閱數據庫制造商的文檔。

已經說過了,希望對標准字符串數據類型有更多的了解就往下看。



有兩種主要的串行數據類型:字符和位。串行使用數據庫裡由SQL_TEXT所定義的字符。SQL_92標准同時還提供了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 VARYING,CHAR VARYING,和VARCHAR這幾個關鍵字是相同的。
這些類型能容納最大長度的字符串,maxlength。
數據庫把字段的長度作為值的實際長度。
你可以把這些數據類型的字段和相同類型的其他允許不同最大長度的字段比較。
BIT

使用方法:BIT(blength)

這種類型包含了帶有長度的位字符(1和0),blength。例如,如果我們使用BIT(2),樣本值將為“01”。
有的數據庫會在串的開頭插入空位,其的則會填充它們以符合固定長度的要求。
位字符是串,不是整數。
你可以把BIT數據類型的字段與相同類型的允許不同長度的其它字段比較,或者和BIT VARYING數據類型比較。
有些數據庫允許BITS和CHARACTER或者INTEGER類型比較。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved