SQL 语句 难题!!!求解!

来源:百度知道 编辑:UC知道 时间:2024/09/19 18:09:16
现有一个表内容如下:

AA BB1 BB2
已收 2008-01-01 2008-01-31
已收 2008-02-01 2008-02-29
已收 2008-04-01 2008-04-30
已收 2008-07-01 2008-07-31
假如现在的时间是 2008-08-10,我想让SQL判断出表中没有数据的月份,并插入一行数据,要求结果如下:
AA BB1 BB2
已收 2008-01-01 2008-01-31
已收 2008-02-01 2008-02-29
未收 2008-03-01 2008-03-31
已收 2008-04-01 2008-04-30
未收 2008-05-01 2008-05-31
未收 2008-06-01 2008-06-30
已收 2008-07-01 2008-07-31

如何可以实现?

写个存储过程呗,先按月循环查询相应的月份,如果没有记录那就插入新记录就行了啊。

很麻烦,分太少了,给你一个函数,求给定日期所在月份的的最后一天,剩下的办法自已想吧:
CREATE FUNCTION GETENDDAY --求给定日期所在月份的的最后一天
(@DATETIME DATETIME)
RETURNS datetime --改了,由VARCHAR(10),改为DATETIME
AS
BEGIN
DECLARE @NEXTMONTH VARCHAR(10)
SET @NEXTMONTH=CONVERT(VARCHAR(10),DATEADD(MONTH,1,@DATETIME),120)
SET @NEXTMONTH=LEFT(@NEXTMONTH,8)+'01'
SET @DATETIME=CONVERT(DATETIME,@NEXTMONTH,120)
SET @DATETIME=DATEADD(DAY,-1,@DATETIME)
RETURN @DATETIME
END
GO

这样难说清楚,你找我,发给你吧.

难题没分 怎么解决 !

0分