Ⅰ 求教,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]'))
;
----查询这个字段所有的纯数字列