sql數(shù)值型轉(zhuǎn)化為字符型 SQL中怎么把字符串轉(zhuǎn)換為數(shù)字?
SQL中怎么把字符串轉(zhuǎn)換為數(shù)字?在SQL SERVER 2005中,將表中字符串轉(zhuǎn)換為數(shù)字的函數(shù)共2個: 1. convert(int,字段名) 例如:select convert(int,"3")
SQL中怎么把字符串轉(zhuǎn)換為數(shù)字?
在SQL SERVER 2005中,將表中字符串轉(zhuǎn)換為數(shù)字的函數(shù)共2個: 1. convert(int,字段名) 例如:select convert(int,"3") 2. cast(字段名 as int) 例如:select cast("3" as int) 其實(shí),一般情況下沒有必要把字符串轉(zhuǎn)換為數(shù)字類型 假如需要比較兩個字段是否相等,但是一個字段為字符串類型,一個為數(shù)字類型,用“=”比較兩個值是否相等時,SQL SERVER會自動把字符串轉(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") wheredd.AREA
is not null 這個SQl中,inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA) 中dsc.ID
為數(shù)字類型,dd.AREA
為字符類型,相當(dāng)于這樣on(1="1")的判斷,這時候就會自動吧字符串的"1"轉(zhuǎn)換為數(shù)字類型再比較的。 但是也有弊端,一旦字符類型轉(zhuǎn)換為數(shù)字類型出錯(說明字符串的確就非數(shù)字組成的),SQL就會拋出異常。 SQL SERVER 2005中有判斷字段是否為數(shù)字的函數(shù): ISNUMERIC(字段名) -----假如字段是數(shù)字類型返回1,不是就返回0 但是好像有的時候不好使,比如:select isnumeric("3,34") 就返回1 說明這個函數(shù)對字段值中全是數(shù)字但是數(shù)字間用“,”和“.”(逗號或點(diǎn))隔開的都視為數(shù)字了!SQL中怎么把字符串轉(zhuǎn)換為數(shù)字?
在使用mysql中,經(jīng)常遇到要將字符串?dāng)?shù)字轉(zhuǎn)換成可計(jì)算數(shù)字,現(xiàn)總結(jié) 了幾種方式: 1.將字符的數(shù)字轉(zhuǎn)成數(shù)字,比如"0"轉(zhuǎn)成0可以直接用加法來實(shí)現(xiàn)例如:將pony表中的d 進(jìn)行排序,可d的定義為varchar,可以這樣解決select * from pony order by (d 0)2.在進(jìn)行ifnull處理時,比如 ifnull(a/b,"0") 這樣就會導(dǎo)致 a/b成了字符串,因此需要把"0"改成0,即可解決此困擾3.比較數(shù)字和varchar時,比如a=11,b="11ddddd"則 select 11="11ddddd"相等若絕對比較可以這樣:select binary 11 =binary "11ddddd"4.字符集轉(zhuǎn)換 : CONVERT(xxx USING gb2312)類型轉(zhuǎn)換和SQL Server一樣,就是類型參數(shù)有點(diǎn)點(diǎn)不同 : CAST(xxx AS 類型) , CONVERT(xxx,類型),類型必須用下列的類型:可用的類型: 二進(jìn)制,同帶binary前綴的效果 : BINARY 字符型,可帶參數(shù) : CHAR() 日期 : DATE 時間: TIME 日期時間型 : DATETIME 浮點(diǎn)數(shù) : DECIMAL 整數(shù) : SIGNED 無符號整數(shù) : UNSIGNED 方法一:SELECT CAST("123" AS SIGNED)方法二:SELECT CONVERT("123",SIGNED)方法三:SELECT "123" 0
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)
SQL中怎么把字符串轉(zhuǎn)換為數(shù)字?
不太看得懂你的描述,我就知道如果是數(shù)據(jù)庫是orecle的話用to_number(字符串)把字符串轉(zhuǎn)換為數(shù)字。