新聞中心
sqlserver的數(shù)據(jù)類(lèi)型
sqlserver的數(shù)據(jù)類(lèi)型比較多,常用的包括:
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),龍山企業(yè)網(wǎng)站建設(shè),龍山品牌網(wǎng)站建設(shè),網(wǎng)站定制,龍山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,龍山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
第一大類(lèi):整數(shù)數(shù)據(jù)
bit:bit數(shù)據(jù)類(lèi)型代表0,1或NULL,就是表示true,false.占用1byte.
int:以4個(gè)字節(jié)來(lái)存儲(chǔ)正負(fù)數(shù).可存儲(chǔ)范圍為:-2^31至2^31-1.
smallint:以2個(gè)字節(jié)來(lái)存儲(chǔ)正負(fù)數(shù).存儲(chǔ)范圍為:-2^15至2^15-1
tinyint: 是最小的整數(shù)類(lèi)型,僅用1字節(jié),范圍:0至此^8-1
第二大類(lèi):精確數(shù)值數(shù)據(jù)
numeric:表示的數(shù)字可以達(dá)到38位,存儲(chǔ)數(shù)據(jù)時(shí)所用的字節(jié)數(shù)目會(huì)隨著使用權(quán)用位數(shù)的多少變化.
decimal:和numeric差不多
第三大類(lèi):近似浮點(diǎn)數(shù)值數(shù)據(jù)
float:用8個(gè)字節(jié)來(lái)存儲(chǔ)數(shù)據(jù).最多可為53位.范圍為:-1.79E+308至1.79E+308.
real:位數(shù)為24,用4個(gè)字節(jié),數(shù)字范圍:-3.04E+38至3.04E+38
第四大類(lèi):日期時(shí)間數(shù)據(jù)
datatime:表示時(shí)間范圍可以表示從1753/1/1至9999/12/31,時(shí)間可以表示到3.33/1000秒.使用8個(gè)字節(jié).
smalldatetime:表示時(shí)間范圍可以表示從1900/1/1至2079/12/31.使用4個(gè)字節(jié).
第五大類(lèi):字符串?dāng)?shù)據(jù)
char:長(zhǎng)度是設(shè)定的,最短為1字節(jié),最長(zhǎng)為8000個(gè)字節(jié).不足的長(zhǎng)度會(huì)用空白補(bǔ)上.
varchar:長(zhǎng)度也是設(shè)定的,最短為1字節(jié),最長(zhǎng)為8000個(gè)字節(jié),尾部的空白會(huì)去掉.
text:長(zhǎng)寬也是設(shè)定的,最長(zhǎng)可以存放2G的數(shù)據(jù).
第六大類(lèi):Unincode字符串?dāng)?shù)據(jù)
nchar:長(zhǎng)度是設(shè)定的,最短為1字節(jié),最長(zhǎng)為4000個(gè)字節(jié).不足的長(zhǎng)度會(huì)用空白補(bǔ)上.儲(chǔ)存一個(gè)字符需要2個(gè)字節(jié).
nvarchar:長(zhǎng)度是設(shè)定的,最短為1字節(jié),最長(zhǎng)為4000個(gè)字節(jié).尾部的空白會(huì)去掉.儲(chǔ)存一個(gè)字符需要2個(gè)字節(jié).
ntext:長(zhǎng)度是設(shè)定的,最短為1字節(jié),最長(zhǎng)為2G.尾部的空白會(huì)去掉,儲(chǔ)存一個(gè)字符需要2個(gè)字節(jié).
第七大類(lèi):貨幣數(shù)據(jù)類(lèi)型
money:記錄金額范圍為:-92233720368577.5808至92233720368577.5807.需要8 個(gè)字節(jié).
smallmoney:記錄金額范圍為:-214748.3648至214748.36487.需要4個(gè)字節(jié).
第八大類(lèi):標(biāo)記數(shù)據(jù)
timestamp:該數(shù)據(jù)類(lèi)型在每一個(gè)表中是唯一的!當(dāng)表中的一個(gè)記錄更改時(shí),該記錄的timestamp字段會(huì)自動(dòng)更新.
uniqueidentifier:用于識(shí)別數(shù)據(jù)庫(kù)里面許多個(gè)表的唯一一個(gè)記錄.
第九大類(lèi):二進(jìn)制碼字符串?dāng)?shù)據(jù)
binary:固定長(zhǎng)度的二進(jìn)制碼字符串字段,最短為1,最長(zhǎng)為8000.
varbinary:與binary差異為數(shù)據(jù)尾部是00時(shí),varbinary會(huì)將其去掉
image:為可變長(zhǎng)度的二進(jìn)制碼字符串,最長(zhǎng)2G.
sql server 2008 整數(shù)相除四舍五入
sql server 2008 整數(shù)相除需要除數(shù)或被除數(shù)有一個(gè)數(shù)據(jù)類(lèi)型為小數(shù),才可以四舍五入。
首先看一個(gè)例子,如圖:
兩條語(yǔ)句唯一區(qū)別就是 10 與 10.00
1、select cast(round(10/6,0) as int) ? ? ? 結(jié)果:1
2、select cast(round(10.00/6,0) as int) ?結(jié)果:2
但結(jié)果確不一樣。
原因是SQLserver有默認(rèn)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換。
10/6 默認(rèn)轉(zhuǎn)換為整型 即:10/6 = 1。那么 round(1) = 1
10.00/6 默認(rèn)轉(zhuǎn)換為小數(shù)即:10.00/6 = 1.666666 ,那么 round(1.666666,0) = 2
SQL server 常用基本數(shù)據(jù)類(lèi)型有哪些?
一、
整數(shù)數(shù)據(jù)類(lèi)型
整數(shù)數(shù)據(jù)類(lèi)型是最常用的數(shù)據(jù)類(lèi)型之一。
1、int
(integer)
2、smallint
3、tinyint
4、bigint
二、
浮點(diǎn)數(shù)據(jù)類(lèi)型
浮點(diǎn)數(shù)據(jù)類(lèi)型用于存儲(chǔ)十進(jìn)制小數(shù)。浮點(diǎn)數(shù)值的數(shù)據(jù)在sql
server
中采用上舍入(round
up
或稱(chēng)為只入不舍)方式進(jìn)行存儲(chǔ)。所謂上舍入是指,當(dāng)(且僅當(dāng))要舍入的數(shù)是一個(gè)非零數(shù)時(shí),對(duì)其保留數(shù)字部分的最低有效位上的數(shù)值加1
,并進(jìn)行必要的進(jìn)位。若一個(gè)數(shù)是上舍入數(shù),其絕對(duì)值不會(huì)減少。如:對(duì)3.14159265358979
分別進(jìn)行2
位和12位舍入,結(jié)果為3.15
和3.141592653590。
1、real
數(shù)據(jù)類(lèi)型
2、float
3、decimal
4、numeric
三、二進(jìn)制數(shù)據(jù)類(lèi)型
1、binary
2、varbinary
四、
邏輯數(shù)據(jù)類(lèi)型
bit:
bit數(shù)據(jù)類(lèi)型占用1
個(gè)字節(jié)的存儲(chǔ)空間,其值為0
或1
。如果輸入0
或1
以外的值,將被視為1。
bit
類(lèi)型不能定義為null
值(所謂null
值是指空值或無(wú)意義的值)。
五、字符數(shù)據(jù)類(lèi)型
字符數(shù)據(jù)類(lèi)型是使用最多的數(shù)據(jù)類(lèi)型。它可以用來(lái)存儲(chǔ)各種字母、數(shù)字符號(hào)、特殊符號(hào)。一般情況下,使用字符類(lèi)型數(shù)據(jù)時(shí)須在其前后加上單引號(hào)’或雙引號(hào)”
。
1
char
2、nchar
3、varchar
4、nvarchar
六、文本和圖形數(shù)據(jù)類(lèi)型
這類(lèi)數(shù)據(jù)類(lèi)型用于存儲(chǔ)大量的字符或二進(jìn)制數(shù)據(jù)。
1、text
2
ntext
3
image
七、
日期和時(shí)間數(shù)據(jù)類(lèi)型
1
datetime
2
smalldatetime
八、貨幣數(shù)據(jù)類(lèi)型
1
money
2
smallmoney
smallmoney數(shù)據(jù)類(lèi)型類(lèi)似于money
類(lèi)型,但其存儲(chǔ)的貨幣值范圍比money數(shù)據(jù)類(lèi)型小,其取值從-214,748.3648到+214,748.3647,存儲(chǔ)空間為4
個(gè)字節(jié)。
九、
特定數(shù)據(jù)類(lèi)型
sql
server
中包含了一些用于數(shù)據(jù)存儲(chǔ)的特殊數(shù)據(jù)類(lèi)型。
1
timestamp
十、用戶(hù)自定義數(shù)據(jù)類(lèi)型
sysname
sysname
數(shù)據(jù)類(lèi)型是系統(tǒng)提供給用戶(hù)的,便于用戶(hù)自定義數(shù)據(jù)類(lèi)型。它被定義為nvarchar(128),即它可存儲(chǔ)128個(gè)unicode字符或256個(gè)一般字符。其具體使用方法請(qǐng)參見(jiàn)第7章“管理數(shù)據(jù)庫(kù)表”中的“自定義數(shù)據(jù)類(lèi)型”章節(jié)。
十一、
新數(shù)據(jù)類(lèi)型
sql
server
2000
中增加了3
種數(shù)據(jù)類(lèi)型:bigint、sql_variant和table。其中bigint數(shù)據(jù)類(lèi)型已在整數(shù)類(lèi)型中介紹,下面介紹其余兩種:
1
sql_variant
sql_variant數(shù)據(jù)類(lèi)型可以存儲(chǔ)除文本、圖形數(shù)據(jù)(text、ntext、image)和timestamp類(lèi)型數(shù)據(jù)外的其它任何合法的sql
server數(shù)據(jù)。此數(shù)據(jù)類(lèi)型大大方便了sql
server的開(kāi)發(fā)工作。
2
table
table
數(shù)據(jù)類(lèi)型用于存儲(chǔ)對(duì)表或視圖處理后的結(jié)果集。這一新類(lèi)型使得變量可以存儲(chǔ)一個(gè)表,從而使函數(shù)或過(guò)程返回查詢(xún)結(jié)果更加方便快、捷其、使用請(qǐng)參見(jiàn)第13章“游標(biāo)、視圖和自定義函數(shù)”。
sqlserver里有沒(méi)有取整的函數(shù)
參數(shù)
numeric_expression
精確數(shù)字或近似數(shù)字?jǐn)?shù)據(jù)類(lèi)型類(lèi)別的表達(dá)式(bit 數(shù)據(jù)類(lèi)型除外)。
length
是 numeric_expression 將要四舍五入的精度。length 必須是 tinyint、smallint 或int。當(dāng) length 為正數(shù)時(shí),numeric_expression 四舍五入為 length 所指定的小數(shù)位數(shù)。當(dāng) length 為負(fù)數(shù)時(shí),numeric_expression 則按 length 所指定的在小數(shù)點(diǎn)的左邊四舍五入。
function
是要執(zhí)行的操作類(lèi)型。function 必須是 tinyint、smallint 或 int。如果省略 function 或 function 的值為 0(默認(rèn)),numeric_expression 將四舍五入。當(dāng)指定 0 以外的值時(shí),將截?cái)? numeric_expression。
例:
Select ROUND(150.75, 0)
151.00
Select ROUND(150.75, 0, 1)
150.00
FLOOR
返回小于或等于所給數(shù)字表達(dá)式的最大整數(shù)。
FLOOR(1.1)=1
FLOOR(2)=2
CEILING
返回大于或等于所給數(shù)字表達(dá)式的最小整數(shù)。
CEILING(1.1)=2
CEILING(2)=2
如果要四舍五入:
cast(round(1.6,0) as int) =2
cast(round(1.4,0) as int)=1
cast(round(2,0) as int)=2
SQLSERVER數(shù)字類(lèi)型用什么表示
數(shù)字有很多類(lèi)型,那么通常的數(shù)字類(lèi)型有如下一些:
整型,也就是整數(shù):int,bigint,smallint,tinyint等
小數(shù):float,numeric(整數(shù)位數(shù),小數(shù)位數(shù)),decimal(整數(shù)位數(shù),小數(shù)位數(shù))
sqlserver里取兩個(gè)整數(shù)相除的百分比,小數(shù)點(diǎn)后保留2位用什么函數(shù)
1.round() 函數(shù)是四舍五入用,第一個(gè)參數(shù)是我們要被操作的數(shù)據(jù),第二個(gè)參數(shù)是設(shè)置我們四舍五入之后小數(shù)點(diǎn)后顯示幾位。
2.numeric 函數(shù)的2個(gè)參數(shù),第一個(gè)表示數(shù)據(jù)長(zhǎng)度,第二個(gè)參數(shù)表示小數(shù)點(diǎn)后位數(shù)。
例如:
select cast(round(12.5,2) as numeric(5,2)) 結(jié)果:12.50
select cast(round(12.555,2) as numeric(5,2)) 結(jié)果:12.56
select cast(round(122.5255,2) as numeric(5,2)) 結(jié)果:122.53
select cast(round(1222.5255,2) as numeric(5,2)) 結(jié)果:報(bào)錯(cuò)了! 原因是:1222.5255,整數(shù)位是4,小數(shù)位是2,加起來(lái)4+2=6,超出了numeric設(shè)置的5位,所以為了保險(xiǎn),可以增減numeric的參數(shù),例如numeric(20,2)。
當(dāng)前名稱(chēng):sqlserver的整數(shù),sqlserver 整數(shù)類(lèi)型
新聞來(lái)源:http://ef60e0e.cn/article/hoijej.html