1在SQL SERVER中,cast和convert函數(shù)都可用于類型轉(zhuǎn)換,其功能是相同

字號:


    在SQL SERVER中,cast和convert函數(shù)都可用于類型轉(zhuǎn)換,其功能是相同的,
    只是語法不同.
    cast一般更容易使用,convert的優(yōu)點是可以格式化日期和數(shù)值.
    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
    如果把 int類型的數(shù)據(jù) 組合在varchar 里面插入, 需要強制轉(zhuǎn)化一下
    例如 '插入'+123+'ID信息' 需要寫成 '插入'+cast(123 as varchar)+'ID信息'