『壹』 sql中數據類型有哪些
int 整型 int 數據類型可以存儲從- 231(-2147483648)到231 (2147483 647)之間的整數。存儲到資料庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在資料庫里佔用4個位元組
tinyint 整型 tinyint 數據類型能存儲從0到255 之間的整數。它在你只打算存儲有限數目的數值時很有用。 這種數據類型在資料庫中佔用1 個位元組
float 近似數值型 float 數據類型是一種近似數值類型,供浮點數使用。說浮點數是近似的,是因為在其范圍內不是所有的數都能精確表示。浮點數可以是從-1.79E+308到1.79E+308 之間的任意數
bit 整型 bit 數據類型是整型,其值只能是0、1或空值。這種數據類型用於存儲只有兩種可能值的數據,如Yes 或No、True 或Fa lse 、On 或Off
char 字元型 char數據類型用來存儲指定長度的定長非統一編碼型的數據。當定義一列為此類型時,你必須指定列長。當你總能知道要存儲的數據的長度時,此數據類型很有用。例如,當你按郵政編碼加4個字元格式來存儲數據時,你知道總要用到10個字元。此數據類型的列寬最大為8000 個字元
varchar 字元型 varchar數據類型,同char類型一樣,用來存儲非統一編碼型字元數據。與char 型不一樣,此數據類型為變長。當定義一列為該數據類型時,你要指定該列的最大長度。 它與char數據類型最大的區別是,存儲的長度不是列長,而是數據的長度
nchar 統一編碼字元型 nchar 數據類型用來存儲定長統一編碼字元型數據。統一編碼用雙位元組結構來存儲每個字元,而不是用單位元組(普通文本中的情況)。它允許大量的擴展字元。此數據類型能存儲4000種字元,使用的位元組空間上增加了一倍
nvarchar 統一編碼字元型 nvarchar 數據類型用作變長的統一編碼字元型數據。此數據類型能存儲4000種字元,使用的位元組空間增加了一倍
text 字元型 text 數據類型用來存儲大量的非統一編碼型字元數據。這種數據類型最多可以有231-1或20億個字元
datetime 日期時間型 datetime數據類型用來表示日期和時間。這種數據類型存儲從1753年1月1日到9999年12月3 1日間所有的日期和時間數據, 精確到三百分之一秒或3.33毫秒
Smalldatetime 日期時間型 smalldatetime 數據類型用來表示從1900年1月1日到2079年6月6日間的日期和時間,精確到一分鍾
image 二進制數據類型 image 數據類型用來存儲變長的二進制數據,最大可達231-1或大約20億位元組
基本查詢
select column1,columns2,...
from table_name
說明:把table_name 的特定欄位資料全部列出來
select *
from table_name
where column1 = ***
[and column2 > yyy] [or column3 <> zzz]
說明:
1.'*'表示全部的欄位都列出來。
2.where 之後是接條件式,把符合條件的資料列出來。
select column1,column2
from table_name
order by column2 [desc]
說明:order by 是指定以某個欄位做排序,[desc]是指從大到小排列,若沒有指明,則是從小到大
排列
組合查詢
組合查詢是指所查詢得資料來源並不只有單一的表格,而是聯合一個以上的
表格才能夠得到結果的。
select *
from table1,table2
where table1.colum1=table2.column1
說明:
1.查詢兩個表格中其中 column1 值相同的資料。
2.當然兩個表格相互比較的欄位,其資料形態必須相同。
3.一個復雜的查詢其動用到的表格可能會很多個。
整合性的查詢:
select count (*)
from table_name
where column_name = ***
說明:
查詢符合條件的資料共有幾筆。
select sum(column1)
from table_name
說明:
1.計算出總和,所選的欄位必須是可數的數字形態。
2.除此以外還有 avg() 是計算平均、max()、min()計算最大最小值的整合性查詢。
select column1,avg(column2)
from table_name
group by column1
having avg(column2) > ***
說明:
1.group by: 以column1 為一組計算 column2 的平均值必須和 avg、sum等整合性查詢的關鍵字
一起使用。
2.having : 必須和 group by 一起使用作為整合性的限制。
復合性的查詢
select *
from table_name1
where exists (
select *<BR>from table_name2
where conditions )
說明:
1.where 的 conditions 可以是另外一個的 query。
2.exists 在此是指存在與否。
select *
from table_name1
where column1 in (
select column1
from table_name2
where conditions )
說明:
1. in 後面接的是一個集合,表示column1 存在集合裡面。
2. select 出來的資料形態必須符合 column1。
其他查詢
select *
from table_name1
where column1 like 'x%'
說明:like 必須和後面的'x%' 相呼應表示以 x為開頭的字串。
select *
from table_name1
where column1 in ('***','yyy',..)
說明:in 後面接的是一個集合,表示column1 存在集合裡面。
select *
from table_name1
where column1 between xx and yy
說明:between 表示 column1 的值介於 xx 和 yy 之間。
3、更改資料:
update table_name
set column1='***'
where conditoins
說明:
1.更改某個欄位設定其值為'***'。
2.conditions 是所要符合的條件、若沒有 where 則整個 table 的那個欄位都會全部被更改。
4、刪除資料:
delete from table_name
where conditions
說明:刪除符合條件的資料。
說明:關於where條件後面如果包含有日期的比較,不同資料庫有不同的表達式。具體如下:
(1)如果是access資料庫,則為:where mydate>#2000-01-01#
(2)如果是oracle資料庫,則為:where mydate>cast('2000-01-01' as date)
或:where mydate>to_date('2000-01-01','yyyy-mm-dd')
在delphi中寫成:
thedate='2000-01-01';
query1.sql.add('select * from abc where mydate>cast('+''''+thedate+''''+' as date)');
如果比較日期時間型,則為:
where mydatetime>to_date('2000-01-01 10:00:01','yyyy-mm-dd hh24:mi:ss')
4、增加資料:
insert into table_name (column1,column2,...)
values ( value1,value2, ...)
說明:
1.若沒有指定column 系統則會按表格內的欄位順序填入資料。
2.欄位的資料形態和所填入的資料必須吻合。
3.table_name 也可以是景觀 view_name。
insert into table_name (column1,column2,...)
select columnx,columny,... from another_table
說明:也可以經過一個子查詢(subquery)把別的表格的資料填入。
『貳』 【SQL】金額如果存在資料庫中應該使用何種類型
一般用money或decimal或numeric,而不用float或double,因為容易出現"失真".
money貨幣數據存儲的精確度為四位小數。可以存儲在 money 數據類型中的值的范圍是 -922,337,203,685,477.5808 至 +922,337,203,685,477.5807(需 8 個位元組的存儲空間)。
在 SQL Server中,numeric 數據類型等價於 decimal 數據類型。存儲 decimal 或 numeric 數值所需的位元組數取決於該數據的數字總數和小數點右邊的小數位數。
『叄』 SQL資料庫中Numeric(10,2)是什麼意思
SQL資料庫中Numeric(10,2)是指欄位是數值型,Numeric(10,2)表示總位數為10,小數點後為2位的數,也就是說這個欄位的整數位最大是8位。
SQL中的五種數據類型:字元型,文本型,數值型,邏輯型和日期型
numeric(p,s)p 為精度(有效位),表示可儲存數值的最大位數,小數點左右兩側都包括在內,默認最大位為38 位;s為小數位數,標識小數點後 面所能儲存的最大位數,默認最小位為0位。
(3)sql貨幣欄位類型擴展閱讀:
以下為其它SQL中的欄位的屬性:
bit 0或1的整型數字
int 從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數字
smallint 從-2^15(-32,768)到2^15(32,767)的整型數字
tinyint 從0到255的整型數字
decimal 從-10^38到10^38-1的定精度與有效位數的數字
『肆』 sql數據類型有哪些
一、 整數數據類型
整數數據類型是最常用的數據類型之一。
1、INT (INTEGER)
INT (或INTEGER)數據類型存儲從-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之間的所有正負整數。每個INT 類型的數據按4 個位元組存儲,其中1 位表示整數值的正負號,其它31 位表示整數值的長度和大小。
2、SMALLINT
SMALLINT 數據類型存儲從-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之間的所有正負整數。每個SMALLINT 類型的數據佔用2 個位元組的存儲空間,其中1 位表示整數值的正負號,其它15 位表示整數值的長度和大小。
3、TINYINT
TINYINT數據類型存儲從0 到255 之間的所有正整數。每個TINYINT類型的數據佔用1 個位元組的存儲空間。
4、BIGINT
BIGINT 數據類型存儲從-2^63 (-9 ,223, 372, 036, 854, 775, 807) 到2^63-1( 9, 223, 372, 036 ,854 ,775, 807) 之間的所有正負整數。每個BIGINT 類型的數據佔用8個位元組的存儲空間。
二、 浮點數據類型
浮點數據類型用於存儲十進制小數。浮點數值的數據在SQL Server 中採用上舍入(Round up 或稱為只入不舍)方式進行存儲。所謂上舍入是指,當(且僅當)要舍入的數是一個非零數時,對其保留數字部分的最低有效位上的數值加1 ,並進行必要的進位。若一個數是上舍入數,其絕對值不會減少。如:對3.14159265358979 分別進行2 位和12位舍入,結果為3.15 和3.141592653590。
1、REAL 數據類型
REAL數據類型可精確到第7 位小數,其范圍為從-3.40E -38 到3.40E +38。 每個REAL類型的數據佔用4 個位元組的存儲空間。
2、FLOAT
FLOAT數據類型可精確到第15 位小數,其范圍為從-1.79E -308 到1.79E +308。 每個FLOAT 類型的數據佔用8 個位元組的存儲空間。 FLOAT數據類型可寫為FLOAT[ n ]的形式。n 指定FLOAT 數據的精度。n 為1到15 之間的整數值。當n 取1 到7 時,實際上是定義了一個REAL 類型的數據,系統用4 個位元組存儲它;當n 取8 到15 時,系統認為其是FLOAT 類型,用8 個位元組存儲它。
3、DECIMAL
DECIMAL數據類型可以提供小數所需要的實際存儲空間,但也有一定的限制,您可以用2 到17 個位元組來存儲從-10的38次方-1 到10的38次方-1 之間的數值。可將其寫為DECIMAL[ p [s] ]的形式,p 和s 確定了精確的比例和數位。其中p 表示可供存儲的值的總位數(不包括小數點),預設值為18; s 表示小數點後的位數,預設值為0。 例如:decimal (15 5),表示共有15 位數,其中整數10 位,小數5。 位表4-3 列出了各精確度所需的位元組數之間的關系。
4、NUMERIC
NUMERIC數據類型與DECIMAL數據類型完全相同。
注意:SQL Server 為了和前端的開發工具配合,其所支持的數據精度默認最大為28位。
三、 二進制數據類型
1、BINARY
BINARY 數據類型用於存儲二進制數據。其定義形式為BINARY( n), n 表示數據的長度,取值為1 到8000 。在使用時必須指定BINARY 類型數據的大小,至少應為1 個位元組。BINARY 類型數據佔用n+4 個位元組的存儲空間。在輸入數據時必須在數據前加上字元「0X」 作為二進制標識,如:要輸入「abc 」則應輸入「0xabc 」。若輸入的數據過長將會截掉其超出部分。若輸入的數據位數為奇數,則會在起始符號「0X 」後添加一個0,如上述的「0xabc 」會被系統自動變為「0x0abc」。
2、VARBINARY
VARBINARY數據類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。不同的是VARBINARY數據類型具有變動長度的特性,因為VARBINARY數據類型的存儲長度為實際數值長度+4個位元組。當BINARY數據類型允許NULL 值時,將被視為VARBINARY數據類型。
一般情況下,由於BINARY 數據類型長度固定,因此它比VARBINARY 類型的處理速度快。
四、 邏輯數據類型
BIT: BIT數據類型佔用1 個位元組的存儲空間,其值為0 或1 。如果輸入0 或1 以外的值,將被視為1。 BIT 類型不能定義為NULL 值(所謂NULL 值是指空值或無意義的值)。
五、 字元數據類型
字元數據類型是使用最多的數據類型。它可以用來存儲各種字母、數字元號、特殊符號。一般情況下,使用字元類型數據時須在其前後加上單引號』或雙引號」 。
1 CHAR
CHAR 數據類型的定義形式為CHAR[ (n) ]。 以CHAR 類型存儲的每個字元和符號佔一個位元組的存儲空間。n 表示所有字元所佔的存儲空間,n 的取值為1 到8000, 即可容納8000 個ANSI 字元。若不指定n 值,則系統默認值為1。 若輸入數據的字元數小於n,則系統自動在其後添加空格來填滿設定好的空間。若輸入的數據過長,將會截掉其超出部分。
2、NCHAR
NCHAR數據類型的定義形式為NCHAR[ (n) ]。 它與CHAR 類型相似。不同的是NCHAR數據類型n 的取值為1 到4000。 因為NCHAR 類型採用UNICODE 標准字元集(CharacterSet)。 UNICODE 標准規定每個字元佔用兩個位元組的存儲空間,所以它比非UNICODE 標準的數據類型多佔用一倍的存儲空間。使用UNICODE 標準的好處是因其使用兩個位元組做存儲單位,其一個存儲單位的容納量就大大增加了,可以將全世界的語言文字都囊括在內,在一個數據列中就可以同時出現中文、英文、法文、德文等,而不會出現編碼沖突。
3、VARCHAR
VARCHAR數據類型的定義形式為VARCHAR [ (n) ]。 它與CHAR 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。不同的是,VARCHAR數據類型具有變動長度的特性,因為VARCHAR數據類型的存儲長度為實際數值長度,若輸入數據的字元數小於n ,則系統不會在其後添加空格來填滿設定好的空間。
一般情況下,由於CHAR 數據類型長度固定,因此它比VARCHAR 類型的處理速度快。
4、NVARCHAR
NVARCHAR數據類型的定義形式為NVARCHAR[ (n) ]。 它與VARCHAR 類型相似。不同的是,NVARCHAR數據類型採用UNICODE 標准字元集(Character Set), n 的取值為1 到4000。
六、文本和圖形數據類型
這類數據類型用於存儲大量的字元或二進制數據。
1、TEXT
TEXT數據類型用於存儲大量文本數據,其容量理論上為1 到2的31次方-1 (2, 147, 483, 647)個位元組,在實際應用時需要視硬碟的存儲空間而定。
SQL Server 2000 以前的版本中,資料庫中一個TEXT 對象存儲的實際上是一個指針,它指向一個個以8KB (8192 個位元組)為單位的數據頁(Data Page)。 這些數據頁是動態增加並被邏輯鏈接起來的。在SQL Server 2000 中,則將TEXT 和IMAGE 類型的數據直接存放到表的數據行中,而不是存放到不同的數據頁中。 這就減少了用於存儲TEXT 和IMA- GE 類型的空間,並相應減少了磁碟處理這類數據的I/O 數量。
2 NTEXT
NTEXT數據類型與TEXT.類型相似不同的,是NTEXT 類型採用UNICODE 標准字元集(Character Set), 因此其理論容量為230-1(1, 073, 741, 823)個位元組。
3 IMAGE
IMAGE數據類型用於存儲大量的二進制數據Binary Data。 其理論容量為2的31次方-1(2,147,483,647)個位元組。其存儲數據的模式與TEXT 數據類型相同。通常用來存儲圖形等OLE Object Linking and Embedding,對象連接和嵌入)對象。在輸入數據時同BINARY數據類型一樣,必須在數據前加上字元「0X」作為二進制標識
七、日期和時間數據類型
1 DATETIME
DATETIME 數據類型用於存儲日期和時間的結合體。它可以存儲從公元1753 年1 月1 日零時起到公元9999 年12 月31 日23 時59 分59 秒之間的所有日期和時間,其精確度可達三百分之一秒,即3.33 毫秒。DATETIME 數據類型所佔用的存儲空間為8 個位元組。其中前4 個位元組用於存儲1900 年1 月1 日以前或以後的天數,數值分正負,正數表示在此日期之後的日期,負數表示在此日期之前的日期。後4 個位元組用於存儲從此日零時起所指定的時間經過的毫秒數。如果在輸入數據時省略了時間部分,則系統將12:00:00:000AM作為時間預設值:如果省略了日期部分,則系統將1900 年1 月1 日作為日期預設值。
2 SMALLDATETIME
SMALLDATETIME 數據類型與DATETIME 數據類型相似,但其日期時間范圍較小,為從1900 年1 月1 日到2079 年6 月6:日精度較低,只能精確到分鍾,其分鍾個位上為根據秒數四捨五入的值,即以30 秒為界四捨五入。如:DATETIME 時間為14:38:30.283時SMALLDATETIME 認為是14:39:00 SMALLDATETIME 數據類型使用4 個位元組存儲數據。其中前2 個位元組存儲從基礎日期1900 年1 月1 日以來的天數,後兩個位元組存儲此日零時起所指定的時間經過的分鍾數。
八、 貨幣數據類型
貨幣數據類型用於存儲貨幣值。在使用貨幣數據類型時,應在數據前加上貨幣符號,系統才能辨識其為哪國的貨幣,如果不加貨幣符號,則默認為「¥」。各貨幣符號如圖4-2所示。
1 MONEY
MONEY 數據類型的數據是一個有4 位小數的DECIMAL 值,其取值從-2的63次方(-922,337,203,685,477.5808到2的63次方-1(+922,337,203,685,477.5807),數據精度為萬分之一貨幣單位。MONEY 數據類型使用8個位元組存儲。
2 SMALLMONEY
SMALLMONEY數據類型類似於MONEY 類型,但其存儲的貨幣值范圍比MONEY數據類型小,其取值從-214,748.3648到+214,748.3647,存儲空間為4 個位元組。
九、 特定數據類型
SQL Server 中包含了一些用於數據存儲的特殊數據類型。
1 TIMESTAMP
TIMESTAMP數據類型提供資料庫范圍內的惟一值此類型相當於BINARY8或VARBINARY(8),但當它所定義的列在更新或插入數據行時,此列的值會被自動更新,一個計數值將自動地添加到此TIMESTAMP數據列中。每個資料庫表中只能有一個TIMESTAMP數據列。如果建立一個名為「TIMESTAMP」的列,則該列的類型將被自動設為TIMESTAMP數據類型。
2 UNIQUEIDENTIFIER
UNIQUEIDENTIFIER 數據類型存儲一個16 位的二進制數字。此數字稱為(GUIDGlobally Unique Identifier ,即全球惟一鑒別號)。此數字由SQLServer 的NEWID函數產生的全球惟一的編碼,在全球各地的計算機經由此函數產生的數字不會相同。
十、 用戶自定義數據類型
SYSNAME SYSNAME 數據類型是系統提供給用戶的,便於用戶自定義數據類型。它被定義為NVARCHAR(128),即它可存儲128個UNICODE字元或256個一般字元。
以表格形式說明:
欄位類型 描述
bit 0或1的整型數字
int 從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數字
smallint 從-2^15(-32,768)到2^15(32,767)的整型數字
tinyint 從0到255的整型數字
decimal 從-10^38到10^38-1的定精度與有效位數的數字
numeric decimal的同義詞
money 從-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的貨幣數據,最小貨幣單位千分之十
smallmoney 從-214,748.3648到214,748.3647的貨幣數據,最小貨幣單位千分之十
float 從-1.79E+308到1.79E+308可變精度的數字
real 從-3.04E+38到3.04E+38可變精度的數字
datetime 從1753年1月1日到9999年12日31的日期和時間數據,最小時間單位為百分之三秒或3.33毫秒
smalldatetime 從1900年1月1日到2079年6月6日的日期和時間數據,最小時間單位為分鍾
timestamp 時間戳,一個資料庫寬度的唯一數字
uniqueidentifier 全球唯一標識符GUID
char 定長非Unicode的字元型數據,最大長度為8000
varchar 變長非Unicode的字元型數據,最大長度為8000
text 變長非Unicode的字元型數據,最大長度為2^31-1(2G)
nchar 定長Unicode的字元型數據,最大長度為8000
nvarchar 變長Unicode的字元型數據,最大長度為8000
ntext 變長Unicode的字元型數據,最大長度為2^31-1(2G)
binary 定長二進制數據,最大長度為8000
varbinary 變長二進制數據,最大長度為8000
image 變長二進制數據,最大長度為2^31-1(2G)
『伍』 Sql語句 設置MONEY格式為貨幣格式!
default 0 意思就是 默認值是0
也就是 如果你插入數據的時候, 如果這一列, 不傳數據, 那就就使用默認值來填寫這個欄位。
『陸』 SQL 資料庫的類型有哪些
SQL 資料庫分為:系統數據類型和用戶自定義類型
系統數據類型:整形(int\smallint\tinyint)\浮點數據(real\decimal和numeric)\字元(char\varchar\nchar\nvarchar)\日期和時間數據類型(datetime\smalldatetime)\文本和圖形數據類型(text\ntext\image)\貨幣數據類型(money\smallmoney)\位數據類型\二進制數據類型(binary\varbinary)\特殊(timestamp\uniqueidentifier)\新增數據(bigint\sql_varant\table)
『柒』 oraclev$sql的sqltype類型是哪些
(1)二進制數據類型
二進制數據包括 Binary、Varbinary 和 Image
Binary 數據類型既可以是固定長度的(Binary),也可以是變長度的。
Binary[(n)] 是 n 位固定的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲空間的大小是 n + 4 個位元組。
Varbinary[(n)] 是 n 位變長度的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲空間的大小是 n + 4個位元組,不是n 個位元組。
在 Image 數據類型中存儲的數據是以位字元串存儲的,不是由 SQL Server 解釋的,必須由應用程序來解釋。例如,應用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把數據存儲在 Image 數據類型中。
(2)字元數據類型
字元數據的類型包括 Char,Varchar 和 Text
字元數據是由任何字母、符號和數字任意組合而成的數據。
Varchar 是變長字元數據,其長度不超過 8KB。Char 是定長字元數據,其長度最多為 8KB。超過 8KB 的ASCII 數據可以使用Text數據類型存儲。例如,因為 Html 文檔全部都是 ASCII字元,並且在一般情況下長度超過 8KB,所以這些文檔可以 Text 數據類型存儲在SQL Server 中。
(3)Unicode 數據類型
Unicode 數據類型包括 Nchar,Nvarchar 和Ntext
在 Microsoft SQL Server 中,傳統的非 Unicode 數據類型允許使用由特定字元集定義的字元。在 SQL Server安裝過程中,允許選擇一種字元集。使用 Unicode 數據類型,列中可以存儲任何由Unicode 標準定義的字元。在 Unicode 標准中,包括了以各種字元集定義的全部字元。使用Unicode數據類型,所佔用的空間是使用非Unicode數據類型所佔用的空間大小的兩倍。
在 SQL Server 中,Unicode 數據以 Nchar、Nvarchar 和 Ntext 數據類型存儲。使用這種字元類型存儲的列可以存儲多個字元集中的字元。當列的長度變化時,應該使用Nvarchar字元類型,這時最多可以存儲 4000 個字元。當列的長度固定不變時,應該使用 Nchar字元類型,同樣,這時最多可以存儲4000 個字元。當使用 Ntext 數據類型時,該列可以存儲多於 4000 個字元。
(4)日期和時間數據類型
日期和時間數據類型包括 Datetime 和 Smalldatetime兩種類型
日期和時間數據類型由有效的日期和時間組成。例如,有效的日期和時間數據包括「4/01/98 12:15:00:00:00 PM」和「1:28:29:15:01AM 8/17/98」。前一個數據類型是日期在前,時間在後;後一個數據類型是時間在前,日期在後。在 Microsoft SQL Server中,日期和時間數據類型包括Datetime 和 Smalldatetime 兩種類型時,所存儲的日期范圍是從 1753 年 1 月 1 日開始,到9999 年12 月 31 日結束(每一個值要求 8 個存儲位元組)。使用 Smalldatetime 數據類型時,所存儲的日期范圍是 1900年 1 月 1日 開始,到 2079 年 12 月 31 日結束(每一個值要求 4 個存儲位元組)。
日期的格式可以設定。設置日期格式的命令如下:
Set DateFormat {format | @format _var|
其中,format | @format_var 是日期的順序。有效的參數包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默認情況下,日期格式為MDY。
例如,當執行 Set DateFormat YMD 之後,日期的格式為年 月 日 形式;當執行 Set DateFormat DMY 之後,日期的格式為日 月有年 形式
(5)數字數據類型
數字數據只包含數字。數字數據類型包括正數和負數、小數(浮點數)和整數
整數由正整數和負整數組成,例如 39、25、0-2 和 33967。在 Microsoft SQL Server 中,整數存儲的數據類型是 Int,Smallint和 Tinyint。Int 數據類型存儲數據的范圍大於 Smallint 數據類型存儲數據的范圍,而 Smallint 據類型存儲數據的范圍大於Tinyint 數據類型存儲數據的范圍。使用 Int 數據類型存儲數據的范圍是從 -2 147 483 648 到 2 147 483 647(每一個值要求4個位元組存儲空間)。使用 Smallint 數據類型時,存儲數據的范圍從 -32 768 到 32 767(每一個值要求2個位元組存儲空間)。使用Tinyint 數據類型時,存儲數據的范圍是從0 到255(每一個值要求1個位元組存儲空間)。
精確小數數據在 SQL Server 中的數據類型是 Decimal 和 Numeric。這種數據所佔的存儲空間根據該數據的位數後的位數來確定。Decimal 數據類型使用128位來表示值來用作數值計算。
在SQL Server 中,近似小數數據的數據類型是 Float 和 Real。例如,三分之一這個分數記作0.333333,當使用近似數據類型時能准確表示。因此,從系統中檢索到的數據可能與存儲在該列中數據不完全一樣。
(6)貨幣數據類型
在 Microsoft SQL Server 中,貨幣數據的數據類型是Money 和 Smallmoney
Money數據類型要求 8 個存儲位元組,Smallmoney 數據類型要求 4 個存儲位元組。
(7)特殊數據類型
特殊數據類型包括前面沒有提過的數據類型。特殊的數據類型有3種,即 Timestamp、Bit 和 Uniqueidentifier。
Timestamp 用於表示SQL Server 活動的先後順序,以二進投影的格式表示。Timestamp 數據與插入數據或者日期和時間沒有關系。Timestamp 類型的欄位是一個基於系統時鍾在數據行被創建或修改時由SQL Server自動填充的值。
Bit 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時,使用 Bit 數據類型。例如,詢問是否是每一次訪問的客戶機請求可以存儲在這種數據類型的列中。
Uniqueidentifier 由 16位元組的十六進制數字組成,表示一個全局唯一的。當表的記錄行要求唯一時,GUID是非常有用。例如,在客戶標識號列使用這種數據類型可以區別不同的客戶。
『捌』 SQL數據類型!
SQL字元類型介紹
一,名詞定義
char為 定長字元型,如char(10),你實際數據是『hello』,這時Sql Server 會自動補充空格,填滿10位。varchar:可變長字元,沒有上述問題,是多長就保存多長的數據。另外, char 和 varchar 在存儲數據時,每個英文字元和數字都佔一個位元組,而一個中文的字元會占兩個位元組.
nchar 與 nvarchar 的用法基本相同,只不過在存儲數據時採用的是 Unicode元碼, 一個英文字元和一個中文字元所佔的空間是相同的.都是兩個位元組.
二、名詞解釋
1、當使用非unicode時慎用以下這種查詢:
select f from t where f = N』xx』
原因:無法利用到索引,因為資料庫會將f先轉換到unicode再和N』xx』比較
2、char 和相同長度的varchar處理速度差不多(後面還有說明)
3、varchar的長度不會影響處理速度(看後面解釋)
4、索引中列總長度最多支持總為900位元組,所以長度大於900的varchar、char和大於450的nvarchar,nchar將無法創建索引
5、text、ntext上是無法創建索引的
6、O/R Mapping中對應實體的屬性類型一般是以string居多,用char[]的非常少,所以如果按mapping的合理性來說,可變長度的類型更加吻合
7、一般基礎資料表中的name在實際查詢中基本上全部是使用like 『%xx%』這種方式,而這種方式是無法利用索引的,所以如果對於此種欄位,索引建了也白建
8、其它一些像remark的欄位則是根本不需要查詢的,所以不需要索引
9、varchar的存放和string是一樣原理的,即length {block}這種方式,所以varchar的長度和它實際佔用空間是無關的
10、對於固定長度的欄位,是需要額外空間來存放NULL標識的,所以如果一個char欄位中出現非常多的NULL,那麼很不幸,你的佔用空間比沒有NULL的大,這時候,你可以使用特殊標識來存放,如:』NV』
11、同上,所以對於這種NULL查詢,索引是無法生效的,假如你使用了NULL標識替代的話,那麼恭喜你,你可以利用到索引了
12、char和varchar的比較成本是一樣的,現在關鍵就看它們的索引查找的成本了,因為查找策略都一樣,因此應該比較誰佔用空間小。在存放相同數量的字元情況下,如果數量小,那麼char佔用長度是小於varchar的,但如果數量稍大,則varchar完全可能小於char,而且要看實際填充數值的充實度,比如說varchar(3)和char(3),那麼理論上應該是char快了,但如果是char(10)和varchar(10),充實度只有30%的情況下,理論上就應該是varchar快了。因為varchar需要額外空間存放塊長度,所以只要length(1-fillfactor)大於這個存放空間(好像是2位元組),那麼它就會比相同長度的char快了。
13、nvarchar比varchar要慢上一些,而且對於非unicode字元它會佔用雙倍的空間,那麼這么一種類型推出來是為什麼呢?對,就是為了國際化,對於unicode類型的數據,排序規則對它們是不起作用的,而非unicode字元在處理不同語言的數據時,必須指定排序規則才能正常工作,所以n類型就這么一點好處。
三、名詞總結
1、如果數據量非常大,又能100%確定長度且保存只是ansi字元,那麼char
2、能確定長度又不一定是ansi字元或者,那麼用nchar;
3、不確定長度,要查詢且希望利用索引的話,用nvarchar類型吧,將它們設到400;
4、不查詢的話沒什麼好說的,用nvarchar(4000)
5、性格豪爽的可以只用3和4,偶爾用用1,畢竟這是一種額外說明,等於告訴別人說,我一定需要長度為X位的數據
(這些字元型在網上都能搜索到的,搜搜看那,給你幾個網址:
http://blog1.poco.cn/myBlogDetail.htx&id=1619242&userid=40517719&pri=&n=0
http://www.w3school.com.cn/sql/sql_syntax.asp
)