sql判断是否为数字
❶ sql 怎么判断是数字或字母
是不是想得到纯数字、纯字母、数字和字母 的分类?
declare @t table(name varchar(50))
insert into @t
select '123456' union
select '123abc.com' union
select 'abcd.com' union
select '0-boundaries.net' union
select '0001computers.net' union
select '000id.com'
select *
from @t
where
ISNUMERIC(substring(name,0,CHARINDEX('.',name,1)))=1
-- or name not like '%[^0-9]%' --纯数字
or substring(name,0,CHARINDEX('.',name,1)) not like '%[^a-zA-Z]%' --纯字母
or substring(name,0,CHARINDEX('.',name,1)) not like '%[^0-9a-zA-Z]%' --字母和数字
❷ SQL Server检测是不是数字类型的函数
ISNUMERIC
确定表达式是否为一个有效的数字类型。
语法
ISNUMERIC ( expression )
参数
expression
要计算的表达式。
返回类型
int
注释
当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。
但是此函数存在Bug,就是'234a2342'同样会认为是数字类型
可以替代的写法是
PATINDEX('%[^0-9]%', @s)
如果返回值等于0,则是纯数字型(没有0~9之外的字符)。
对于支持小数点和正负数写法是
PATINDEX('%[^0-9|.|-|+]%',@s)
❸ 判断字符串是否为数字
1、创建测试表;create table test_str(str varchar2(200));
❹ 怎么用SQL判断字段值是否为字符或者数字
在不改变你SQL的基础上再加一个 LEFT(col1,1)<>'-'
select * from tb
where
ISNUMERIC(col1)>0 and LEFT(col1,1)<>'-'
---
ISNUMERIC(col1)>0这个本身就将资料过滤为只有数字(正数或负数,没有你说的其他符号了),在其基础上再将负数的情况过滤掉就OK了
❺ sql判断一个字符串是否是数字
如果是ORACLE,可以:
select translate(str,'x1234567890','x') from al,如果得到的是空则是数字,如果不是空,则是带字符串的。
❻ 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 oracle 判断为数字
SELECT * FROM ITAB WHERE ISNUMERIC(FIELDNAME)>0
函数 ISNUMERIC(col1)>0 是判断字段值是否是数值的函数,若是整数、浮点等数字返回是“1”
❽ sql语句如何判断字段是否为数字
--在不改变你SQL的基础上再加一个
LEFT(col1,1)<>'-'
select
*
from
tb
where
ISNUMERIC(col1)>0
and
LEFT(col1,1)<>'-'
---
ISNUMERIC(col1)>0这个本身就将资料过滤为只有数字(正数或负数,没有你说的其他符号了),在其基础上再将负数的情况过滤掉就OK了
❾ sql 判断是否为数字
不知道你是什么数据库啊。
以后你要询问有关数据库函数的问题, 最好明确说明一下啊。
Oracle 通过正则表达式判断, 字符串是否是数字。
可以使用正则表达式的方式来判断。
REGEXP_LIKE( 字段 , '(^[+-]?\d{0,}\.?\d{0,}$)'
来判断 是否是数字
❿ sql如何在字符串里判断是否有数字或者字母
判断是否含有字母
select PATINDEX('%[A-Za-z]%', ‘ads23432')=0
(如果存在字母,结果>1)
判断是否含有数字
PATINDEX('%[0-9]%', ‘234sdf')=0
(如果存在数字,结果>1)