Ⅰ 求教,sql如何判斷數字的連續,並且獲取斷點的數字。
加入表是test,列名nums,可以先做如下處理:
select T1.nums as nums,
case (select COUNT(1) from TEST T2 WHERE T2.nums like '%'+convert(varchar(10),convert(int,SUBSTRING(T1.nums,len(T1.nums)-4,5))-1)) when 1 then (select T2.nums from TEST T2 WHERE T2.nums like '%'+convert(varchar(10),convert(int,SUBSTRING(T1.nums,len(T1.nums)-4,5))-1)) ELSE NULL END AS has_parent,
ROW_NUMBER() OVER(order by nums asc) as row_num
from TEST T1
得到一個關系數據,對數據做分組分析就Ok拉。
Ⅱ sql 判斷是否為數字
不知道你是什麼資料庫啊。
以後你要詢問有關資料庫函數的問題, 最好明確說明一下啊。
Oracle 通過正則表達式判斷, 字元串是否是數字。
可以使用正則表達式的方式來判斷。
REGEXP_LIKE( 欄位 , '(^[+-]?\d{0,}\.?\d{0,}$)'
來判斷 是否是數字
Ⅲ sql中判定數字是幾位數
select len( substring( 'px201266-101',charindex('-','px201266-101')+1,len('px201266-101')))
結果為 3
意思是:計算 『-』 符號後面的欄位長度
Ⅳ sql語句的數值判斷問題
if Dbset("col")=0 then
sql="delect from tab where id="&Dbset("id")
Dbset.Delete
end if
Ⅳ 在SQL中 怎麼判斷查詢的是整數
oracle
select * form table where mod(數值,1) = 0
sqlserver
select * from table where 數值 = round(數值,0)
Ⅵ sql判斷一個字元串是否是數字
如果是ORACLE,可以:
select translate(str,'x1234567890','x') from al,如果得到的是空則是數字,如果不是空,則是帶字元串的。
Ⅶ sql oracle 判斷為數字
SELECT*FROMITABWHEREISNUMERIC(FIELDNAME)>0
函數ISNUMERIC(col1)>0是判斷欄位值是否是數值的函數,若是整數、浮點等數字返回是「1」
Ⅷ sql 查詢語句,關於某個欄位位數判斷。
1、首先我們准備一個數據表。
Ⅸ Sql server 判斷某欄位是數字
ISNUMERIC(expression)
如果輸入表達式的計算值為有效的整數、浮點數、money 或 decimal 類型時,ISNUMERIC 返回 1;否則返回 0。
Ⅹ 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]'))
;
----查詢這個欄位所有的純數字列