sql语句如何判断字段是否为数字?
一楼的这个“cast(a as integer) >0”似乎可行,不知道有没有啥隐患?
二楼的有个问题,因为我不知道填充的内容是多少个‘-’以及‘-’的位置,而且可能还有其他各种填充符号,比如'%'或'&',单纯去判断某种符号可能存在漏洞 展开
sql语句判断字段是否为数字可以参考下面的例子:
select * from biao where isnumeric(ziduan)=0 查非数回字答
select * from biao where isnumeric(ziduan)=1 查纯数字
扩展资料:
SQL参考语句
查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
参考资料来源:百度百科-结构化查询语言
SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
折叠
sql server的sql语句怎么判断一个字段是否为数字?
sql="select * from biao where isnumeric(ziduan)=true" 。
select * from tb
where
ISNUMERIC(col1)>0 and LEFT(col1,1)<>'-'
---
ISNUMERIC(col1)>0这个本身就将资料过滤为只有数字(正数或负数,没有你说的其他符号了),在其基础上再将负数的情况过滤掉就OK了
SELECT CASE WHEN A LIKE '%[^0-9]%' THEN '非数字' ELSE '数字' END FROM TableName
--显示用
条件用:
SELECT * FROM TableName WHERE A LIKE '%[^0-9]%'--非数字
SELECT * FROM TableName WHERE A NOT LIKE '%[^0-9]%'--数字
select * from biao where isnumeric(ziduan)=1 查纯数字