今天在写SQL代码的时候写了个 ISNULL(变量1,变量2),返回的结果居然是 "*" ,这个星号,郁闷了很久。

代码大意如下:

declare @str1 varchar(1)
declare @str2 int
set @str2=222
select ISNULL(@str1,@str2)

返回结果:" * ",这个郁闷啊。

修改下代码:

declare @str1 varchar(4)
declare @str2 int
set @str2=222
select ISNULL(@str1,@str2)

返回结果: " 222 " 。

再次修改代码:

declare @str1 varchar(4)
declare @str2 varchar(8)
set @str2='2222222'
select ISNULL(@str1,@str2)

返回结果:"  2222 "。

经过这三次的试验结果:猜测isnull返回的结果类型,与第一个变量是息息相关的,甚至就取决于第一个变量的类型。

官方解释:

Syntax

 
ISNULL ( check_expression , replacement_value )

Arguments

check_expression

Is the expression to be checked for NULL. check_expression can be of any type.

replacement_value

Is the expression to be returned if check_expression is NULL. replacement_value must be of a type that is implicitly convertible to the type of check_expresssion.

Return Types

Returns the same type as check_expression.

Remarks

The value of check_expression is returned if it is not NULL; otherwise, replacement_value is returned after it is implicitly converted to the type of check_expression, if the types are different.

返回值是第二个参数,会转成第一个参数的类型,转换失败,就会报异常或者出现前面的"*",星号。

转载于:https://www.cnblogs.com/huaan011/p/4779320.html

SQL中ISNULL的问题。相关推荐

  1. 简单介绍SQL中ISNULL函数使用方法

    这篇文章介绍了SQL Server.MySQL.Oracle三种数据库中ISNULL函数的使用方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 SQL Ser ...

  2. oracle同sql中isnull无法,SQL中的ISNULL函数使用介绍

    这篇文章主要为大家详细介绍了SQL中的ISNULL函数使用介绍,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ISNULL 使用指定的替换值替换 ...

  3. SQL中 isnull()用法总结

    SQL Server中的isnull()函数: isnull(value1,value2) 1.value1与value2的数据类型必须一致. 2.如果value1的值不为null,结果返回value ...

  4. oracle判断是否为空为空赋值,sql数据库中ISNULL函数用法 sql语句判断值是否为空...

    在使用sql数据库的过程,由于服务器设置不当导致sql server的某个字段为空,导致部分内容显示失败,就需要将为空的字符替换为制定的字符. 例子,sql语句: use 数据库 update new ...

  5. COLLATE oracle,Sql 中Collate用法

    今天查询sqlite的时候需要不区分大小写,查了下文档,需要使用collate nocase.顺便学习下collate的用法. collate在sql中是用来定义排序规则的.排序规则其实就是当比较两个 ...

  6. 用Access的iif代替SQL中的IsNull()

    Access也有IsNull函数,但意义和参数却和T-SQL中的不同. 在T-SQL(也就是SQL Server所支持的SQL语言)中,IsNull的作用是把空值替代成指定的值.然而在Access中, ...

  7. SQL中的ISNULL函数介绍

    SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助. ISNULL 使用指定的替换值替换 NULL. 语法 IS ...

  8. oracle函数isnull,SQL中的ISNULL函数使用介绍

    ISNULL 使用指定的替换值替换 NULL. 语法 ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是 ...

  9. SQL中的ISNULL函数详解及用途

    SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助 ISNULL 使用指定的替换值替换 NULL. 语法 ISN ...

最新文章

  1. html 颜色叠加图片,如何在背景图片上添加颜色叠加?
  2. Centos源码安装Cmake
  3. F - Monkey Banana Problem
  4. mysql典型sql示例(DML)
  5. The Way to TiDB 3.0 and Beyond (下篇)
  6. Windows环境下文件的彻底删除与恢复,推荐几个工具(整理)
  7. redis查看key的过期时间_面试官:你在Redis中设置过带过期时间的Key吗?
  8. jpush java api_JPush極光推送Java服務器端API
  9. python—15种字符串操作
  10. 二十五、JAVA多线程(一、理论知识)
  11. 免费甘特图模板直接套用,分分钟完成!
  12. 战神服务器IP修改,战神引擎芒果数据库查询和修改玩家IP+账号+密码教程
  13. JAVA小项目-银行管理系统(图形化界面)2-开户与挂失
  14. 数学笔记——导数1(导数的基本概念)
  15. STM32 CAN总线通信学习笔记(一)
  16. 基于MATLAB的特殊函数积分
  17. CAD之设置坐标原点
  18. 园区网典型组网架构及案例实践
  19. 计算机的基本组成及其工作原理
  20. 【深度域适配】二、利用DANN实现MNIST和MNIST-M数据集迁移训练

热门文章

  1. discuz模板解析注释
  2. 机构押注ABS云平台 融资成本下降1%~3%
  3. 2016年大数据Spark“蘑菇云”行动代码学习之AdClickedStreamingStats模块分析
  4. Android无法访问本地服务器(localhost)的解决方案
  5. [转]Linux文件搜索
  6. Silverlight 解谜游戏 之三 消除名单
  7. spring 声明式事务
  8. 【codeforces 678E】Another Sith Tournament
  9. 在centos7上编译安装nginx
  10. js获取 日期 星期 时间