注册 登录
编程论坛 SQL Server论坛

谁能帮讲一下这个方法返回的是什么?

leisky 发布于 2007-12-04 10:19, 714 次点击
FUNCTION [dbo].[得到指定月差的年月] (@ym varchar(7), @i int)  
RETURNS varchar(7) AS  
BEGIN
 if (rtrim(ltrim(@ym)) <> '' and substring(@ym, 5, 2) < 13)
  return year(DATEADD(Month, @i, substring(@ym, 1, 4) + '-' + substring(@ym, 5, 2) + '-1')) * 100 +
   month(DATEADD(Month, @i, substring(@ym, 1, 4) + '-' + substring(@ym, 5, 2) + '-1'))
 return null
END

假如这个方法里我传进去的参数是(200701,1),那么返回的是什么?
传参数(200701,-1)返回的是什么????
5 回复
#2
purana2007-12-04 10:30
自己在查询分析器里测试一下..不就知道返回什么了?.
#3
leisky2007-12-04 11:03
光知道是不行的..以后这样的存储过程还得我自己写了
他后面 * 100 是什么意思有人知道吗?
#4
purana2007-12-04 11:12
一个数*100应该知道吧?
#5
leisky2007-12-04 11:15
光知道是不行的..以后这样的存储过程还得我自己写了
他后面 * 100 是什么意思有人知道吗?
#6
purana2007-12-04 11:19
看了结果之后..自己去分析..为什么会得出这个结果..
不管谁学习..过程都是这样..

year(DATEADD(Month, @i, substring(@ym, 1, 4) + '-' + substring(@ym, 5, 2) + '-1')) * 100

不要告诉我year函数都不知道..
取出日期的年份..然后乘以100..
1