sql數(shù)值型轉(zhuǎn)化為字符型 Sql中有沒(méi)有把字符串轉(zhuǎn)換成int數(shù)值類型?
Sql中有沒(méi)有把字符串轉(zhuǎn)換成int數(shù)值類型?有兩種。1、convert(int,字段名) 例如:select convert(int,"3")2、cast(字段名 as int) 例如:select
Sql中有沒(méi)有把字符串轉(zhuǎn)換成int數(shù)值類型?
有兩種。1、convert(int,字段名) 例如:select convert(int,"3")2、cast(字段名 as int) 例如:select cast("3" as int)一般情況下沒(méi)有必要把字符串轉(zhuǎn)換為數(shù)字類型,假如需要比較兩個(gè)字段是否相等,但是一個(gè)字段為字符串類型,一個(gè)為數(shù)字類型,用“=”比較兩個(gè)值是否相等時(shí),SQL SERVER會(huì)自動(dòng)把字符串轉(zhuǎn)換為數(shù)字再比較的。擴(kuò)展資料:注意事項(xiàng)這兩個(gè)函數(shù)的作用都是進(jìn)行類型轉(zhuǎn)換,只不過(guò)語(yǔ)法格式不同。據(jù)說(shuō)在轉(zhuǎn)換時(shí)還是有一定的區(qū)別的,不過(guò)我個(gè)人更習(xí)慣于使用convert函數(shù),應(yīng)該這個(gè)函數(shù)一方面更像是個(gè)函數(shù)的語(yǔ)法,另一方面在做時(shí)間和數(shù)值轉(zhuǎn)換成字符串時(shí)還可以指定轉(zhuǎn)換的格式。對(duì)于精確數(shù)值的數(shù)據(jù)類型,轉(zhuǎn)換出來(lái)的字符串就是我們存儲(chǔ)的數(shù)值。比如:而如果對(duì)于近似數(shù)值的數(shù)據(jù)類型,那么可就沒(méi)有那么簡(jiǎn)單了。
sqlserver中如何把字符串轉(zhuǎn)換成數(shù)字?
在SQL SERVER 2005中,將表中字符串轉(zhuǎn)換為數(shù)字的函數(shù)共2個(gè):
1. convert(int,字段名) 例如:select convert(int,"3")
2. cast(字段名 as int) 例如:select cast("3" as int)
其實(shí),一般情況下沒(méi)有必要把字符串轉(zhuǎn)換為數(shù)字類型
假如需要比較兩個(gè)字段是否相等,但是一個(gè)字段為字符串類型,一個(gè)為數(shù)字類型,用“=”比較兩個(gè)值是否相等時(shí),SQL SERVER會(huì)自動(dòng)把字符串轉(zhuǎn)換為數(shù)字再比較的!
例如:
select da.TITLE_NAME,dsc.NAME
from dbo.DV_DUTY dd
inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA)
left join DV_ASSET da on(da.ID=dd.RECORD_ID and dd.TYPE="2")
where dd.AREA is not null
這個(gè)SQl中,inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA) 中dsc.ID為數(shù)字類型,dd.AREA為字符類型,相當(dāng)于這樣on(1="1")的判斷,這時(shí)候就會(huì)自動(dòng)吧字符串的"1"轉(zhuǎn)換為數(shù)字類型再比較的。
但是也有弊端,一旦字符類型轉(zhuǎn)換為數(shù)字類型出錯(cuò)(說(shuō)明字符串的確就非數(shù)字組成的),SQL就會(huì)拋出異常。
SQL SERVER 2005中有判斷字段是否為數(shù)字的函數(shù):
ISNUMERIC(字段名) -----假如字段是數(shù)字類型返回1,不是就返回0
但是好像有的時(shí)候不好使,比如:select isnumeric("3,34") 就返回1
說(shuō)明這個(gè)函數(shù)對(duì)字段值中全是數(shù)字但是數(shù)字間用“,”和“.”(逗號(hào)或點(diǎn))隔開(kāi)的都視為數(shù)字了!
mysql數(shù)字轉(zhuǎn)字符串?
MySQL 數(shù)字類型轉(zhuǎn)換函數(shù)(concat/cast)。
1、將Int 轉(zhuǎn)為varchar經(jīng)常用 concat函數(shù),比如concat(8,’0′) 得到字符串 ’80′。
2、將varchar 轉(zhuǎn)為Int 用 cast(a as signed) a為varchar類型的字符串。
總結(jié):類型轉(zhuǎn)換和SQL Server一樣,就是類型參數(shù)有點(diǎn)點(diǎn)不同 : CAST(xxx AS 類型) , CONVERT(xxx,類型)。
-- 比如將123轉(zhuǎn)換為char類型
SELECT CAST(123 AS CHAR)