| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3167 人关注过本帖
标题:请教下在SQL中NVL函数和VFP下有什么不同
只看楼主 加入收藏
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:694
专家分:20
注 册:2014-1-16
结帖率:88.52%
收藏
已结贴  问题点数:20 回复次数:7 
请教下在SQL中NVL函数和VFP下有什么不同
比如字段 SALE 是数值型的,在VFP数据库中SELECT NVL(SUM(SALE),0) AS SALE_TOTAL FROM TAB1 这句话是完全通过的,但是将表TAB1移植到SQL SERVER后,
在查询分析器使用SELECT NVL(SUM(SALE),0) AS SALE_TOTAL FROM dbo.TAB1  却报错,这是怎么回事啊,我百度查了下,应该是这样用啊,就解答
搜索更多相关主题的帖子: 百度 数据库 
2016-05-13 09:34
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:694
专家分:20
注 册:2014-1-16
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-05-13 09:41
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:7 
一NVL函数是一个空值转换函数

NVL(表达式1,表达式2)

如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。 该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式1和表达式2的数据类型必须为同一个类型。

对数字型: NVL( comm,0);

对字符型 NVL( TO_CHAR(comm), 'No Commission')

对日期型 NVL(hiredate,' 31-DEC-99')

例子:

select   ename,NVL(TO_char(comm), ename||' is not a salesperson!') AS COMMISSION

from emp

二 NVL2(表达式1,表达式2,表达式3)

如果表达式1为空,返回值为表达式3的值。如果表达式1不为空,返回值为表达式2的值。

例如 NVL2(comm,'sal+comm',sal)

NVL2函数测试comm

如果comm为空,就返回sal 的值。如果 comm 不为空(null),就返回表达式 sal+comm的值。
我的是SQL2000,好像没这个函数,不知道你的是什么版本的。
2016-05-13 09:47
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
要是SQL2000,可以用ISNULL()来代替
2016-05-13 09:48
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:989
专家分:4966
注 册:2013-2-16
收藏
得分:7 
SQL Server 里是用的isnull() 用法和Nvl 差不多,你在移植到SQL里的时候,还是要变通一下。不能“照本宣科”。
2016-05-13 09:50
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:694
专家分:20
注 册:2014-1-16
收藏
得分:0 
我用的是SQL2000,难道SQL2000不支持NVL函数吗,不过我试了下isnull,通过了,谢谢


[此贴子已经被作者于2016-5-13 10:07编辑过]

2016-05-13 10:02
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:7 
用isnull() 就可以的
2016-05-13 10:15
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:694
专家分:20
注 册:2014-1-16
收藏
得分:0 
感谢各位师傅的解答
2016-05-13 10:40
快速回复:请教下在SQL中NVL函数和VFP下有什么不同
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051152 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved