㈠ 在sql中如何將日期類型轉換成文本類型,例如2012-09-12 轉變成 20120912
類型轉換:convert(要轉換成的數據類型,欄位名稱)
例如convert(varchar(100),col_name)
Convert(int,Order_no)
日期格式轉換:
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
㈡ SQL SERVER中強制類型轉換cast和convert的區別
在SQL SERVER中,cast和convert函數都可用於類型轉換,其功能是相同的,
只是語法不同.
cast一般更容易使用,convert的優點是可以格式化日期和數值.
代碼
select CAST('123' as int) -- 123
select CONVERT(int, '123') -- 123
select CAST(123.4 as int) -- 123
select CONVERT(int, 123.4) -- 123
select CAST('123.4' as int)
select CONVERT(int, '123.4')
-- Conversion failed when converting the varchar value '123.4' to data type int.
select CAST('123.4' as decimal) -- 123
select CONVERT(decimal, '123.4') -- 123
select CAST('123.4' as decimal(9,2)) -- 123.40
select CONVERT(decimal(9,2), '123.4') -- 123.40
declare @Num money
set @Num = 1234.56
select CONVERT(varchar(20), @Num, 0) -- 1234.56
select CONVERT(varchar(20), @Num, 1) -- 1,234.56
select CONVERT(varchar(20), @Num, 2) -- 1234.5600
㈢ SQL中CONVERT的格式是什麼
如果sql
server程序員想將表達式從一種換為另一種,他可以從sql
server
7和2000中自帶的兩種功能中做出選擇。在存儲過程或其他情況下,我們常常需要將數據從datetime型轉化成varchar型;convert和cast就可以用於這種情況。
由於sql
server提供兩種功能,因此應該選擇哪種功能或應該在哪種情況下使用該功能就很容易讓人困惑了。convert是專對sql
server使用的,使日期與時間值,小數之間轉換具有更寬的靈活性。
cast是兩種功能中更具ansi標準的功能,即雖然更具便攜性(比如,使用cast的函數能更容易的被其它資料庫軟體使用),但功能相對弱一些。不過,當小數轉化為數值,並保留原始表達式中的小數數值時,仍然需要使用cast。因此,我建議首先使用cast,如果遇到必須使用convert的情況時再使用convert。
cast和convert還能聯合使用,達到特殊的效果。比如,在current
date下生成char變數一般使用以下方法:
select
convert(char(10),
current_timestamp,
102)
(102表明使用了ansi日期模式,即yy.mm.dd型)
然而,如果你希望將這個變數明確生成為datetime或smalldatetime變數,以此在特定的資料庫欄中兼容,那麼你可以使用以下語句:
select
cast(convert(char(10),current_timestamp,102)
as
datetime
返回值將是
yy.mm.dd
00:00:00(如12:00am作為時間戳;
㈣ SQL中的CONVERT函數的用法是什麼
CONVERT( 要轉換到的類型, 合法的表達式, 格式化類型 )。
㈤ sql server中的怎麼把數值型轉換為字元串
有兩種。
1.轉換(int,欄位名)
例如:選擇convert(int,'3')
選擇cast('3'作為int)
一般來說,沒有必要將字元串轉換為數字類型,如果你需要比較兩個欄位是相等的,但為字元串類型欄位,類型,用「=」來比較這兩個值是相等的,SQLSERVER將自動將字元串轉換為一個數字,然後比較。
(5)sql轉換類型convert擴展閱讀:
注意事項:
這兩個函數都執行強制轉換,但是語法不同。據說有一些不同的轉換,但我更習慣於使用轉換函數,它更像一個函數的語法一方面,可以指定的格式轉換,將時間和價值轉換為一個字元串。
對於數據類型的確切值,轉換後的字元串是我們存儲的值。如:
聲明@iintset@i=123456789print'test:'+轉換(varchar(20),@i)
輸出是:test:123456789
對於具有近似值的數據類型,情況就不那麼簡單了。
聲明@ifloatset@i=123456789print'test:'+轉換(varchar(20),@i):test:1.23457e+008
㈥ 在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;
(6)sql轉換類型convert擴展閱讀:
能將字元型轉換成數字型晌慧好,就能將數字轉化為字元,對於宴鉛精確數值的數據類型,轉換出來的字元串就是我們存儲的數值。比如:
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