當前位置:首頁 » 編程語言 » sql判斷字元串是否為數字
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql判斷字元串是否為數字

發布時間: 2023-06-18 14:32:00

sql語句中怎樣將字元類型轉換成數字類型

先檢查金額列的數據是否都符合小數規范,轉為數字格式只有是數字的字元串才能轉,如000012轉為12,.55轉為0.55,若是個英文符號等字元轉了就報無效數字類型的錯。

❷ 用PL/SQL如何查詢出純數字字元串

SELECT * FROM a WHERE columnA LIKE '%\%%' ESCAPE'\';
其中,ESCAPE'\'表示:\為換碼字元,匹配串中跟在\後面的字元%不再具有通配符的含義;
轉義為普通的「%」字元。

❸ sql如何在字元串里判斷是否有數字或者字母

判斷是否含有字母
select PATINDEX('%[A-Za-z]%', 『ads23432')=0

(如果存在字母,結果>1)
判斷是否含有數字
PATINDEX('%[0-9]%', 『234sdf')=0

(如果存在數字,結果>1)

❹ sql判斷一個字元串是否是數字

如果是ORACLE,可以:
select translate(str,'x1234567890','x') from al,如果得到的是空則是數字,如果不是空,則是帶字元串的。

❺ 如何把SQL SERVER中一個含有數字的字元串找出來

在SQL SERVER 2005中,將表中字元串轉換為數字的函數共2個:
1. convert(int,欄位名) 例如:select convert(int,'3')
2. cast(欄位名 as int) 例如:select cast('3' as int)
其實,一般情況下沒有必要把字元串轉換為數字類型
假如需要比較兩個欄位是否相等,但是一個欄位為字元串類型,一個為數字類型,用「=」比較兩個值是否相等時,SQL SERVER會自動把字元串轉換為數字再比較的!
例如:
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
這個SQl中,inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA) 中dsc.ID為數字類型,dd.AREA為字元類型,相當於這樣on(1='1')的判斷,這時候就會自動吧字元串的'1'轉換為數字類型再比較的。
但是也有弊端,一旦字元類型轉換為數字類型出錯(說明字元串的確就非數字組成的),SQL就會拋出異常。

SQL SERVER 2005中有判斷欄位是否為數字的函數:
ISNUMERIC(欄位名) -----假如欄位是數字類型返回1,不是就返回0
但是好像有的時候不好使,比如:select isnumeric('3,34') 就返回1
說明這個函數對欄位值中全是數字但是數字間用「,」和「.」(逗號或點)隔開的都視為數字了!

❻ sql查詢某一欄位的哪些值是字元串,哪些值是數字

用IsNumeric(expression)來判斷。
---------------
SELECT *
FROM TableA
WHERE IsNumeric(a1)