A. cast as decimal(10,2)
你就直接用 select round(100.146,2) from al--100.15 select round(100.14,2) from al--100.14 select round(100.1,2) from al--100.1 select round(100,2) from al--100
B. sql SERVER中強制類型轉換cast和convert的區別
將某種數據類型的表達式顯式轉換為另一種數據類型。CAST 和 CONVERT 提供相似的功能。 語法
使用 CAST: CAST ( expression AS data_type ) 使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 參數
expression 是任何有效的 Microsoft SQL Server" 表達式。有關更多信息,請參見表達式。 data_type 目標系統所提供的數據類型,包括 bigint 和 sql_variant。不能使用用戶定義的數據類型。有關可用的數據類型的更多信息,請參見數據類型。 length nchar、nvarchar、char、varchar、binary 或 varbinary 數據類型的可選參數。 style 日期格式樣式,藉以將 datetime 或 smalldatetime 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型);或者字元串格式樣式,藉以將 float、real、money 或 smallmoney 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型)。
將某種數據類型的表達式顯式轉換為另一種數據類型。有關可用的數據類型的更多信息,請參見數據類型。日期格式樣式,藉以將 datetime 或 smalldatetime 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型);或者字元串格式樣式,藉以將 float、real、money 或 smallmoney 數據轉換為字元數據(nchar、nvarchar、char、varchar、nchar 或 nvarchar 數據類型)。當轉換為字元數據時輸出。
隱性轉換對於用戶是不可見的。
SQL Server 自動將數據從一種數據類型轉換成另一種數據類型。例如,如果一個 smallint 變數和一個 int 變數相比較,這個 smallint 變數在比較前即被隱性轉換成 int 變數。 顯式轉換使用 CAST 或 CONVERT 函數。
CAST 和 CONVERT 函數將數值從一個數據類型(局部變數、列或其它表達式)轉換到另一個數據類型。例如,下面的 CAST 函數將數值 $157.27 轉換成字元串 ''$157.27'':CAST ( $157.27 AS VARCHAR(10) )
CAST 函數基於 SQL-92 標准並且優先於 CONVERT。 當從一個 SQL Server 對象的數據類型向另一個轉換時,一些隱性和顯式數據類型轉換是不支持的。例如,nchar 數值根本就不能被轉換成 image 數值。nchar 只能顯式地轉換成 binary,隱性地轉換到 binary 是不支持的。nchar 可以顯式地或者隱性地轉換成 nvarchar。 當處理 sql_variant 數據類型時,SQL Server 支持將具有其它數據類型的對象隱性轉換成 sql_variant 類型。然而,SQL Server 並不支持從 sql_variant 數據隱性地轉換到其它數據類型的對象
C. 在SQL語句裡面如何將字元型轉換成數字型
先檢查金額列的數據是否都符合小數規范,用cast(金額 asdecimal(10,4))>500或者
convert(decimal(10,4),金額)>500
註:decimal的長度和小數位數根據自己需要設定
sql中將字元串數字轉換成數字:
方法一:SELECT CAST('123' AS SIGNEDinteger);
方法二:SELECT CONVERT('123',SIGNED);
方法三:SELECT '123'+0;
(3)sqlcastasdecimal擴展閱讀:
能將字元型轉換成數字型,就能將數字轉化為字元,對於精確數值的數據類型,轉換出來的字元串就是我們存儲的數值。比如:
declare @i int
set @i=123456789
print 'test:'+convert(varchar(20),@i)
輸出就是:test:123456789
而如果對於近似數值的數據類型,那麼可就沒有那麼簡單了。
declare @i float
set @i=123456789
print 'test:'+convert(varchar(20),@i)
輸出結果:test:1.23457e+008
D. 如何將sql 中的字元串轉換成數字,和如何將數字轉換成字元串
num1是主鍵,類型是int,num2是外鍵,類型是text, num2中可以是多個值也可以使一個值,如num2中一列有4個值(1,2,3,4),num1中分別有4列值為1,2,3,4,要num1和num2比較,num1=num2,如何把num2轉換為單獨的1,2,3,4
我要查詢,select * from table1,table2 where num1=num2 那num1=num2這塊怎麼寫啊,num1是4個值,num2是一個值,查出來的結果也是4個值的
E. SQL 存儲過程 decimal 返回值的問題
declare @m decimal(8,2)
set @m= convert(decimal(8,2),cast(9 as decimal(8,2)) /4)
print @m
因為9/4 都是整數,結果自然為整數2
F. 怎樣用SQL語句實現,保留數字的小數點後4位
select cast(欄位 as decimal(18,4)) from 表
比如:
select cast(293209.5 as decimal(18,4))
G. sql查詢語句中,如何將float類型的數據轉化為decimal類型的在線等
cast(要轉換的 as decimal(m,n))
decimal精度比float高,轉換沒有問題。
H. sql 如何取有小數點後有效數字,比方說,1.0230000,怎麼取到1。023
直接用convert,如:
Select convert(decimal(10,2),'1.0230000')
decimal(10,2)中的兩個數值,第一個參數表類型的長度,第二個參數表小數點後精度,
取小點2位,則為2,三位則為3。
試試吧,OK!
給分吧,嘿嘿。
I. 怎麼把SQL語句的結果集加上小數點
轉換成decimal類型。例如將1轉換成1.00
cast(1 as decimal(10,2))
J. 在SQL中如何從nvarchar類型轉換為decimal
cast(nvarchar變數或欄位 as decimal(19,2))
或
CONVERT (decimal(19,2),nvarchar變數或欄位 )
---
前提是 nvarchar中數據必須是合法的數字格式,否則轉換出錯