SQL Server中检查字段的值是否为数字的方法

最近有一个项目,需要检查某个字符型字段的值是否为数字,由于数据行是海量,所以需要通过SQL语句来筛查,这里拿来做个备忘。

用到的函数为IsNumeric,具体语句如下所示:

代码如下:

SELECT *
FROM 表
WHERE IsNumeric(需要检查的字段名) = 0

ISNUMERIC 

确定表达式是否为一个有效的数字类型。 
  
  语法 
  ISNUMERIC   (   expression   ) 
  
  参数 
  expression 
  
  要计算的表达式。 
  
  返回类型 
  int 
  
  注释 
  当输入表达式得数为一个有效的整数、浮点数、money   或   decimal   类型,那么   ISNUMERIC   返回   1;否则返回   0。返回值为   1   确保可以将   expression   转换为上述数字类型中的一种。

(0)

相关推荐

  • SQL Server中检查字段的值是否为数字的方法

    最近有一个项目,需要检查某个字符型字段的值是否为数字,由于数据行是海量,所以需要通过SQL语句来筛查,这里拿来做个备忘. 用到的函数为IsNumeric,具体语句如下所示: 复制代码 代码如下: SELECT * FROM 表 WHERE IsNumeric(需要检查的字段名) = 0 ISNUMERIC  确定表达式是否为一个有效的数字类型.       语法    ISNUMERIC   (   expression   )       参数    expression       要计算的

  • SQL Server中修改“用户自定义表类型”问题的分析与方法

    前言 SQL Server开发过程中,为了传入数据集类型的变量(比如接受C#中的DataTable类型变量),需要定义"用户自定义表类型",通过"用户自定义表类型"可以接收二维数据集作为参数,在需要修改"用户自定义表类型"的时候,增加字段,删除字段,修改字段类型等,它没有像表一样的alter table语法来进行修改. 只能通过删除重建来实现,但是在删除"用户自定义表类型"的时候会提示有对象引用它(某些存储过程用到了这个&qu

  • SQL Server中聚合历史备份信息对比数据库增长的方法

    很多时候,在我们规划SQL Server数据库的空间,或向存储方面要空间时,都需要估算所需申请数据库空间的大小,估计未来最简单的办法就是看过去的趋势,这通常也是最合理的方式. 通常来讲,一个运维良好的数据库都需要做定期基线(baseline),有了基线才会知道什么是正常.一个简单的例子例如,一些人的血压平常偏低,那么80的低压对他来说就是不正常了.但现实情况是大多数系统并没有采集基线的习惯,因此在需要规划空间想要看历史增长时,就没有过去精确的数据了. 一个解决办法就是通过查看历史备份的大小来看过

  • sql server中datetime字段去除时间的语句

    select CONVERT(varchar, getdate(), 120 )  2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),\'-\',\'\'),\' \',\'\'),\':\',\'\')  20040912110608 select CONVERT(varchar(12) , getdate(), 111 )  2004/09/12 select CONVER

  • sql server中datetime字段去除时间代码收藏

    select CONVERT(varchar, getdate(), 120 )  2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),\'-\',\'\'),\' \',\'\'),\':\',\'\')  20040912110608 select CONVERT(varchar(12) , getdate(), 111 )  2004/09/12 select CONVER

  • 关于SQL Server中bit类型字段增删查改的一些事

    前言 本文主要给大家介绍了关于SQL Server中bit类型字段增删查改的一些事,话说BIT类型字段之前,先看"诡异"的一幕,执行Update成功,但是查询出来的结果依然是1,而不是Update的2 当别人问起我来的时候,本人当时也是处于懵逼状态的,后面联想具体的业务突然想起来这个字段是bit类型的 如果把这个现象跟BIT类型字段连续起来就不觉得奇怪了. 废话不多,直接上代码看结果就好了. 先建一个测试表 CREATE TABLE TestBIT ( Id INT IDENTITY(

  • 将Session值储存于SQL Server中

    一般情况下,我们喜欢使用Session储存我们的变量.Asp.Net提供了下面一些方法储存Session的值:  InProc  State Server  SQL Server  "InProc"表示我们使用传统ASP一样的方法储存Session的值,而且"State Server"则表示使用另外一台主机来储存Session的值.当然我们也能使用SQL Server储存值,我们这篇文章就专门用于讲解这种方法.  运行InstallSqlState.sql文件  首

  • SQL Server查询某个字段在哪些表中存在

    一.查询SQL Server中所有的表 SQL语句: SELECT * FROM sys.tables name列表示所有的表名. 二.查询SQL Server中所有的列 SQL语句: SELECT * FROM sys.columns name列表示所有的字段名称. 两张表根据object_id进行关联 语法: select * from sys.tables tinner join sys.columns c on t.object_id=c.object and c.name='要查询的字

  • SQL Server中的约束(constraints)详解

    目录 一.约束的分类 二.约束命名 三.主键约束 1.在创建表的时候创建主键约束. 2.在已存在的表上创建主键约束 3.复合主键的创建 四.外键约束 4.1.创建表的时候创建外键 4.2.在已存在的表中添加一个外键 4.3.级联动作 五.唯一约束 主键和唯一约束的区别: 六.CHECK约束 七.DEFAULT约束 7.1在创建表时定义DEFAULT约束: 7.2在已存在的表上添加DEFAULT约束: 八.禁用约束 8.1.在创建约束时,忽略检查之前的不满足数据 8.2.临时禁用已存在的约束 九.

  • SQL Server中数据行批量插入脚本的存储实现

    无意中看到朋友写的一篇文章"将表里的数据批量生成INSERT语句的存储过程的实现".我仔细看文中的两个存储代码,自我感觉两个都不太满意,都是生成的单行模式的插入,数据行稍微大些性能会受影响的.所在公司本来就存在第二个版本的类似实现,但是是基于多行模式的,还是需要手工添加UNAION ALL来满足多行模式的插入.看到这篇博文和基于公司数据行批量脚本的存储的缺点,这次改写和增强该存储的功能. 本存储运行于SQL Server 2005或以上版本,T-SQL代码如下: IF OBJECT_I

随机推荐