『壹』 sqlserver 判斷是否整數
兩種方法:
方法1:先轉換成字元串,然後判斷小數點後是否都為0
方法2:用取余數來判斷
『貳』 sql 如何判斷字元串是否可以轉化為整型
有個函數叫isnumeric(@value)
『叄』 plsql如何判斷是小數還是整數,例如: select '20' a ,'3' from al
余數為0,則說明是整數,否則說明是小數
selecta/b-trunc(a/b)
from
(
select'20'a,'3'bfromal
)
『肆』 plsql如何判斷是小數還是整數,例如:selec
mod(numer1,number2)為取余函數select mod(20,3) from al;結果為0則整數,否則小數
『伍』 sql判斷一個字元串是否是數字
如果是ORACLE,可以:
select translate(str,'x1234567890','x') from al,如果得到的是空則是數字,如果不是空,則是帶字元串的。
『陸』 sql判斷一個float是不是整數
可以先轉換成字元串,判斷小數點後是否都為0或者可以用取余的方式判斷。
『柒』 在sql中怎麼判斷一個nvarchar類型的欄位值為正數
截取字元,看是否含有 「—」符號
『捌』 sql判斷是否為數字
不知道樓主的意思是不是要判斷一個欄位是否為純數字還是說是否包含數字?
可以用oracle自帶的正則表達式函數regexp_replace把數字全部取出來,然後計算數字的長度是否等於這個欄位的長度,如果等於的話說明這個值全部是數字,如果不等於的話說明值裡麵包含非數字,測試語句如下:
select(regexp_replace('lss12345',
'[^0-9]'))
from
al;---取出值裡面的全部數字
select
length('lss12345'),length(regexp_replace('lss12345',
'[^0-9]'))
from
al;
---查詢出欄位的長度和欄位內數字的長度
select*
from
al
where
length('lss12345')
=
length(regexp_replace('lss12345',
'[^0-9]'))
;
----查詢這個欄位所有的純數字列
『玖』 一個關於SQL語句判斷整數的問題
create TRIGGER tr_A_Insert ON A
WITH ENCRYPTION
for insert
AS
BEGIN
DECLARE @a VARCHAR(100)
SET @a = (select a FROM inserted)
IF isnumeric(substring(@a,1,8)) = 1 and floor(substring(@a,1,8))=substring(@a,1,8)
begin
INSERT INTO B(b) VALUES(@A)
end ELSE
IF isnumeric(substring(@a,1,4)) = 1 and floor(substring(@a,1,4))=substring(@a,1,4)
BEGIN
INSERT INTO C(c) VALUES(@A)
END
END
『拾』 在SQL中 怎麼判斷查詢的是整數
oracle
select * form table where mod(數值,1) = 0
sqlserver
select * from table where 數值 = round(數值,0)