https://www.cnblogs.com/zjfblog/p/5625202.html

sql2005有个函数ISNUMERIC(expression)函数:当expression为数字时,返回1,否则返回0。这只是一个菜鸟级的解决办法,大多数情况比较奏效。

eg:

select ISNUMERIC('123') --结果为1

但是,该函数有个缺点!

eg:

 SELECT
,ISNUMERIC('-') as '-' --1
,ISNUMERIC('+') as '+' --1
,ISNUMERIC('$') as '$' --1
,ISNUMERIC('.') as '.' --1
,ISNUMERIC(',') as ',' --1
,ISNUMERIC('\') as '\' --1
,ISNUMERIC('2D3') AS '2D3'--1
,ISNUMERIC('1d1') AS '1d1'--1
,ISNUMERIC('1e1') AS '1e1'--

,ISNUMERIC('d') AS 'd' --

当含有美元符、加减号、逗号等符号时,或者D、E的前后均出现数字时,也会返回1,这就比较头疼了。标点符号倒是好理解,为什么d,e这种情况,真是不理解微软设计的意图。

有什么好的解决办法吗?当然了,请看下面

方法:通配符。高逼格使用。

适用场景:2005及以上(2005之前的版本没试过,应该也支持)

 --返回0-则为纯数字(支持正负数,小数点)
SELECT PATINDEX('%[^0-9|.|-|+]%','2.2')--返回0 --返回0-则为纯整数
select PATINDEX('%[^0-9]%', '2.2')--返回非0

sqlserver 判断字符串是否是数字的更多相关文章

  1. sqlserver判断字符串是否是数字

    sql2005有个函数ISNUMERIC(expression)函数:当expression为数字时,返回1,否则返回0.这只是一个菜鸟级的解决办法,大多数情况比较奏效. eg: ') --结果为1 ...

  2. [转]sqlserver判断字符串是否是数字

    sql2005有个函数ISNUMERIC(expression)函数:当expression为数字时,返回1,否则返回0.这只是一个菜鸟级的解决办法,大多数情况比较奏效. eg: 1 select I ...

  3. C#判断字符串是否是数字

    /// <summary> /// 判断字符串是否是数字 /// </summary> public static bool IsNumber(string s) { if ( ...

  4. 字符串--java中判断字符串是否为数字的方法的几种方法?

    ava中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < ...

  5. shell 判断字符串是否为数字

    本篇文章主要介绍了"shell 判断字符串是否为数字",主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下. #!/ ...

  6. Linux C判断字符串是否为数字

    Title:Linux C判断字符串是否为数字  --2013-10-14 15:54 #include <ctype.h> #include <string.h> int I ...

  7. java中判断字符串是否为数字的方法的几种方法

    1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ ...

  8. js正则表达式,判断字符串是否以数字组结尾,并取出结尾的数字

    js正则表达式,判断字符串是否以数字组结尾,并取出结尾的数字 <!DOCTYPE html> <html> <head> <meta charset=&quo ...

  9. Java:判断字符串是否为数字的五种方法

    Java:判断字符串是否为数字的五种方法 //方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str. ...

随机推荐

  1. Synctoy2.1使用定时任务0X1

    环境描述:公司需要在windows上面使用双向文件同步,目前发现SyncToy可以实现这个功能,但是在Windows 2012上面 ,添加定时任务的时候,执行状态总是0x1,定时任务配置确认多次,肯定 ...

  2. 个人小爱好:Operating System: three easy pieces第6章第5节——总结

    总结 我们讨论了实现CPU虚拟化的部分底层机制,及我们统称为直接执行(direct execution)的一组技术.基本的思想十分简单明了:直接在CPU上运行你想运行的代码,但是你先得确保将硬件设置好 ...

  3. ELK之elasticsearch导致CPU居高不下系统慢解决办法

    参考:http://zoufeng.net/2018/07/16/cpu-of-elasticsearch-high-search-slow/ elasticsearch主机CPU居高不下100%左右 ...

  4. mybatis(二)--相关属性及相关细节

    mapper接口动态代理 动态代理dao开发规则 1.namespace必需是接口的全路径名 2.接口的方法名 必需与 映射文件的sql id一致 3.接口的输入参数必需与映射文件的parameter ...

  5. Interllij IDEA中启动web项目

    1.在IDEA中打开你的Web应用,点击一下绿色三角形左边的框框,然后在弹出框上选择Edit Configurations,会弹出一个配置面板. 2.在弹出的面板中我们点击Defaults,然后找到T ...

  6. JDBC事务(二)转账示例

    示例采用三层框架 web层: package cn.sasa.web; import java.io.IOException; import javax.servlet.ServletExceptio ...

  7. JDBC最原始的代码做查询操作

    首先编写一个User类. public class User { private String username; private String password; public String get ...

  8. SpringBoot-性能优化之扫包优化

    性能优化 组件自动扫描带来的问题 默认情况下,我们会使用 @SpringBootApplication 注解来自动获取应用的配置信息,但这样也会给应用带来一些副作用.使用这个注解后,会触发自动配置( ...

  9. iptables精通

    前提基础: 当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或进行转发. iptables实现防火墙功能 ...

  10. 检查文件是否被修改或者被破坏工具 md5

    检查文件和对应的md5值是否一致.