解决方案 »
- 添加远程伺服器链接,如果这个服务器sa密码为空好添加吗?
- 请教如何把下面的SQL合并到一句SQL里
- 提一个数据库恢复的问题,在线等
- [急]SQL怎么把2行一样的列合并到一行,用“;”隔开?
- 怎样用一条SQL语句显示出等于0记录有多少条和不等于0记录有多少条
- 数据库备用也删除过期备份文件的问题
- 单位的同事的机器上都装有sql server 7,我不想让他们能注册到我的sql server中,防止我做的数据库,他们能看到,乱修改,怎么办?
- 请教:ISQL的使用方法?
- 救命 如何修复损坏的paradox文件?
- 求教:在查询结果中怎么进行判断
- 帮我看看这个sql语句的写法
- 【sql】如何根据查找出来的用户ID(多个),给他们每一个人发一个消息
测试下来,就是这个问题,但是原因不晓得
select [dbo].[GetELeaveValidAnnualHours_DWDE]('2011-01-01','0')
还是null 如果是 set @totalLeave=40,结果就有数字了
如果是 set @totalLeave = (select cursta from List_vLeaveDetail where id=@ID )结果就是null
因为你传进去的值 通过这个语句得到的结果是null
那么 @totalLeave 也是null
null +-*/ 任何数 得到的值都是null
set @shouldleave=((@thismonth-@startleavemonth+1)*@totalLeave)/12 所以最后 return @shouldleave 得到是null;
结果等于40
set @ID='aaad'
set @totalLeave = (select cursta from List_vLeaveDetail where id=@ID )
select @totalLeave
sorry,其实是一样的,我贴代码的时候故意去掉的。不好意思
函数刚开始定义那里将 @id 定义为 int 不要定义为字符型然后select @totalLeave = cursta from List_vLeaveDetail where id=@ID
测试下来是null
@ID char(10)就对了
set @ID='aaaa'
select cursta from List_vLeaveDetail where sapid=@ID
select cursta from List_vLeaveDetail where sapid='aaaa'第一个结果为null
第二个结果是40,
set @ID='aaaa'
select cursta from List_vLeaveDetail where sapid=@ID
set @ID='aaad'
set @totalLeave = (select cursta from List_vLeaveDetail where id=@ID )
select @totalLeave
一般没有这么写的吧,你确定后面的select语句会返回值给参数吗?
要么是set @var=value 或者是 select @var=value(select @var from XX where XXX)