`

这是SQL Server的bug么?

 
阅读更多

在论坛上看到这样一个帖子, 原文如下:




在我的SQL Server2008R2上, 试了一下, 果然是这样, 转换成numeric时报错..

看样子很奇怪, 明明函数ISNUMBERIC的返回值是1, 但是转换却不成功, 为什么呢?

查了一下BOL, 发现如下的解释:

ISNUMBERIC函数判断表达式是否是以下类型之一:


intreal

numericbigint

moneysmallint

smallmoneytinyint

floatdecimal


看样子ISNUMBERIC不只判断是否是NUMBERIC类型, 也判断其他如money等类型.

试了一下转换成money型, 结果就没有报错, 语句如下:

SELECT cast('14,3434' AS money);

另外如果有$符号, 也是可以转换成功的, 语句如下:

SELECT ISNUMERIC('$123');
SELECT cast('$123' AS money);


总结一下, 这不是SQL Server的bug, 只是用户容易从函数ISNUMBERIC望文生义, 以为这个函数返回1的表达式一定是可以转化为NUMBERIC型的. 其实能转换为money而不能转化为numberic型的表达式, 用ISNUMBERIC判断也是返回1的.


分享到:
评论

相关推荐

    BUG管理 (采用ADO+SQL SERVER)

    BUG管理 (采用ADO+SQL SERVER).

    SQL SERVER 操作类(C++)ALM(QC)bug统计小工具

    通过操作SQL SERVER 数据库,生成BUG统计的EXCEL文件。 序号 字段 定义 备注 1 新建BUG数 检测时间在周时间段内 无论哪种状态都要统计 2 本周修复BUG数 状态为“已修正”或“已关闭”,并此修改时间在周时间段内 ...

    easy update for sqlserver

    后来,你发现新的修改有些BUG,于是你又需要跑到这5个地方;再后来,又发现...... 使用easy update for sqlserver,您不需要如此奔波;每次修改以后,您只需要在服务端简单操作即可,客户端会自动检查更新,下载...

    微软sql server 2005全文检索的BUG解决方案

    微软sql server 2005全文检索的BUG解决方案,因sql server 2005的分词方法与2000不同,导致全文检索出现不可预见性的查询失败.

    navicat100_sqlserver_en.exe

    navicat for sqlserver 一款非常实用的sql server管理工具,能够为sql server数据库管理和开发提供了全方位的图形化的解决方案,可以快速轻松地创建、编辑和删除所有数据库对象,或运行SQL查询和脚本。连接任何...

    sql server 2000的补丁包

    sql server 2000的补丁包用于开发之前的使用,因为可能当初microsoft做这个sql server时候有bug,后来打了个补丁。如果没有这个补丁,程序是不好运行的。

    sql server 集群配置

    分类: SQL Server  Windows server2003 + sql server2005 集群配置安装 一:环境 软硬件环境    虚拟3台windows server 2003主机。其中一台做域控DC,另外两台作为节点win1 win2. 域控DC网络设置: Hostname ...

    SQLServer判断表名和字段名

    SQLServer判断表名和字段名

    【Mycat1.6之操作SQLServer案例】

    NULL 博文链接:https://gaojingsong.iteye.com/blog/2371403

    Microsoft SQL Server数据库建模工具

    DataShow是一款基于.net Framework2.0的Microsoft SQL Server数据库建模工具,工具全部采用C#代码完成。该工具旨在利用自定义表字典的功能来设计强大的数据库控件或者页面,减少开发周期和代码量。 本工具具有如下...

    SQLServer数据库连接池.rar

    易语言SQLServer数据库连接池模块带例程 SQLServer数据库连接池,支持多线程下运行,如果网络断开,在操作时自动重连一次。连接数据库采用精益模块的【类_ODBC】。资源访问采用易语言自带的许可证。运行效率足够中...

    docker 安装的 linux版 sqlserver 数据库建库语句

    navicat自带的sqlserver建库有bug,所以必须使用建库语句进行建库,拿来就能用的语句。当然自己也可以根据实际需要调整部分参数,入目录,规则,大小等等...

    BugOnline bug跟踪管理系统 (asp.net+c#+sql server 2005)

    基于asp.net2.0 ,sql server 2005(包括Express 版),Ajax等技术. ----------- BugOnline 的一些特性: 在线消息及E-mail自动通知功能。有新Bug及Bug分配给用户同时将自动通知用户。 优秀的人员分配,工作量统计...

    javaSwing+SqlServer做的进销存管理系统

    用javaSwing+SqlServer2000做的进销存管理系统,适合做毕业设计使用,程序调试无bug

    SQLUtility v1.2(SQLServer 工具箱)

    在使用SQLServer企业管理器生成SQL脚本时,并没有按照数据库对象的依赖关系对脚本顺序进行排序。这个BUG导致了生成的脚本无法直接执行,开发人员必须手工对其进行排序或者寻找其他替代方案,从而增加了很大的工作量...

    适用SQL Server 2016版本的数据库加载驱动包jdbc

    适用SQL Server 2016版本的数据库加载驱动包jdbc,JDBC连接SQL Server2016,亲测可用,留作备份

    BugBarrier事务系统.rar_bug_bugl_java 项目_jsp sql server_项目管理

    开发工具:JBuilder2005+SQLServer2000企业版 程序构架基于:运用JSP+Struts等技术 开发MVC架构网站 项目描述: 可添加项目和用户,用户在系统中权限分为系统管理员,用户管理员,项目管理员,普通用户;在项目 中...

    SQLServer2000高级编程技术-已添加书签,想学存储过程、SQL编程务必要看,分析非常透彻

    1.4 SQL Server 2000的新特性 1.4.1 改进了对Web的支持 1.4.2 改进了伸缩能力和可靠性 1.4.3 改进了开发和管理环境 1.5 样本数据库 1.5.1 样本数据库安装 1.5.2 样本数据库的设计目的和设计思想 1.5.3 数据库图解 ...

    SQL Server 2000 性能分析工具

    自己写的,针对SQL Server 2000的性能分析工具,主要功能有: 查看Server、Database及Objects的相关参数,分析Tables的行数及定义时间段的增量,可对Server设定若干有代表性的SQL语句,定期执行,以观测性能的变化,...

    基于Delphi7+SQLServer 2000的图书馆管理系统

    是大学里的一次课设,bug应该蛮多的,给需要的人做个参考而已

Global site tag (gtag.js) - Google Analytics