numericsqlserver
⑴ sqlSERVER 將 nvarchar 轉換為數據類型 numeric 時出現算術溢出錯誤
將 nvarchar 轉換為數據類型 numeric 時出現算術溢出錯誤。
CAST(欄位 AS NUMERIC(18,1)) between 30.0 and 150.0
CAST ( AS [ length ])
例如CAST(COL530 AS NUMERIC(18,2)
CONVERT() 函數語法如下:
CONVERT ([ length ], [, style])
例如convert(numeric(18,2),col530)
⑵ sqlserver的數據類型
sqlserver的數據類型比較多,常用的包括:
第一大類:整數數據
bit:bit數據類型代表0,1或NULL,就是表示true,false.佔用1byte.
int:以4個位元組來存儲正負數.可存儲范圍為:-2^31至2^31-1.
smallint:以2個位元組來存儲正負數.存儲范圍為:-2^15至2^15-1
tinyint: 是最小的整數類型,僅用1位元組,范圍:0至此^8-1
第二大類:精確數值數據
numeric:表示的數字可以達到38位,存儲數據時所用的位元組數目會隨著使用權用位數的多少變化.
decimal:和numeric差不多
第三大類:近似浮點數值數據
float:用8個位元組來存儲數據.最多可為53位.范圍為:-1.79E+308至1.79E+308.
real:位數為24,用4個位元組,數字范圍:-3.04E+38至3.04E+38
第四大類:日期時間數據
datatime:表示時間范圍可以表示從1753/1/1至9999/12/31,時間可以表示到3.33/1000秒.使用8個位元組.
smalldatetime:表示時間范圍可以表示從1900/1/1至2079/12/31.使用4個位元組.
第五大類:字元串數據
char:長度是設定的,最短為1位元組,最長為8000個位元組.不足的長度會用空白補上.
varchar:長度也是設定的,最短為1位元組,最長為8000個位元組,尾部的空白會去掉.
text:長寬也是設定的,最長可以存放2G的數據.
第六大類:Unincode字元串數據
nchar:長度是設定的,最短為1位元組,最長為4000個位元組.不足的長度會用空白補上.儲存一個字元需要2個位元組.
nvarchar:長度是設定的,最短為1位元組,最長為4000個位元組.尾部的空白會去掉.儲存一個字元需要2個位元組.
ntext:長度是設定的,最短為1位元組,最長為2G.尾部的空白會去掉,儲存一個字元需要2個位元組.
第七大類:貨幣數據類型
money:記錄金額范圍為:-92233720368577.5808至92233720368577.5807.需要8 個位元組.
smallmoney:記錄金額范圍為:-214748.3648至214748.36487.需要4個位元組.
第八大類:標記數據
timestamp:該數據類型在每一個表中是唯一的!當表中的一個記錄更改時,該記錄的timestamp欄位會自動更新.
uniqueidentifier:用於識別資料庫裡面許多個表的唯一一個記錄.
第九大類:二進制碼字元串數據
binary:固定長度的二進制碼字元串欄位,最短為1,最長為8000.
varbinary:與binary差異為數據尾部是00時,varbinary會將其去掉
image:為可變長度的二進制碼字元串,最長2G.
⑶ 二、資料庫與數據表--2、SQLServer的數據類型
(1)文本類型: 字元數據包含任意字母、符號或數字字元的組合
char: 固定長度的非Unicode字元數據,最大長度為8000個字元
varchar: 可變長度的非Unicode數據,最大長度為8000個字元
text: 存儲長文本信息,最大長度為2^31-1(2147483647)個字元
nchar: 固定長度的Unicode數據,最大長度為4000個字元
narchar: 可變長度的Unicode數據,最大長度為4000個字元
ntext: 存儲長文本信息,最大長度為2^30-1(1073741823)個字元
(Unicode是國際組織制定的可以容納世界上所有文字和符號的字元編碼方案,編碼數據長度是非編碼數據的兩倍)
(2)整數類型
bigint: 佔用8個位元組,可表示範圍-2^63~2^63-1之間的整數
int: 佔用4個位元組
smallint: 佔用2個位元組
tinint: 佔用1個位元組,可表示0~255之間的整數
(3)精確數字類型
decimal: -10^38~10^38-1之間固定精度和小數位的數字
numeric(常用): 功能等同於decimal
寫法:
decimal(整數,小數)和numeric(整數,小數)——若不指定位數,默認18位整數,0位小數:
(4)近似數字(浮點)類型(很少用,可以用numeric替代)
float[(n)]: 表示範圍-1.79E+308~1.79E+308
n 表示精度,在1-53之間取值,當n在1~24之間時,精度為7位有效數字,佔用4個位元組;當n在25~53之間時,精度為15位有效數字,佔8個位元組。
real: 表示範圍-3.40E+38~3.40E+38佔用4個位元組,相當於float(24)
(5)日期類型
datetime: 允許范圍1753-1-1至9999-1-1
smalldatetime(常用): 允許范圍1900-1-1至2079-6-6
時間精度不同: datetime精確到3%秒;smalldatetime精確到1分鍾
格式說明:
分隔符數字方式: 2013-08-20 或 08/20/2013
純數字方式: 08202013
英文數字類型: Aug 20,2013
注意問題: 日期在使用的時候需要使用單引號' ' 括起來
(6)貨幣類型
money: 貨幣數值介於-2^63與2^63-1之間,精確到貨幣單位的千分之一
smallmoney: 貨幣數據介於-214748.3648與214748.3648之間,精確到貨幣單位的千分之十
(7)位類型
bit: 表示「是/否」類型的數據(1/0,true/false)
(8)二進制類型
binary: 固定長度的二進制數據,最大8000個位元組
vbinary: 可變長度的二進制數據,最大8000個位元組
image: 可變長度的二進制數據,最大長度2^31個位元組—— 應用場合: 可存儲圖片
⑷ oracle number 和sqlserver numeric的區別
Numberic 數據類型用來存儲負的和正的整數、分數和浮點型數據,范圍在-1*10-103 和9.999…99*10125之間,有38位的精確度。標識一個數據超出這個范圍時就會出錯。
Number( p,s) Number數據類型存儲一個有p位精確度的s位等級的數據。
⑸ sql server2005中數據類型的Numeric(18,0) 是什麼意思
sql server2005中數據類型百的Numeric(18,0)意思是總的位數為18位數字,小數點後的位數為0位。
NUMERIC數據類型使用標准、可變長度的內部格式來存儲數字。
Microsoft Jet資料庫引擎SQL 數據類型 由13個基本數據類型組成,它們是由 Microsoft Jet 資料庫引擎和幾個驗證過的有效同義字定義的。常見的有:整形,單精度,雙精度,可變長度字元,固定長度字元,長型,日期等等。
(5)numericsqlserver擴展閱讀:
創建用戶定義的數據類型可以使用Transact-SQL語句。系統存儲過程sp_addtype 可以來創建用戶定義的數據類型。其語法形式如下:
sp_addtype {type},[,system_data_bype][,'null_type']
其中,type 是用戶定義的數據類型的名稱。system_data_type 是系統提供的數據類型,例如 Decimal、Int、Char 等等。
null_type 表示該數據類型是如何處理空值的,必須使用單引號引起來,例如'NULL'、'NOT NULL'或者'NONULL'。