如何实现这个数据更新

xmvb 2004-08-26 03:10:21
有如下表:

订单号 日租金 月租金 日期
--------------------------------
001 1000 2004-2-8
002 1000 2004-3-9
003 1000 2004-4-10
...

请问如何用SQL实现根据日期得出当月有多少天后,再用月租金除以月天数得出日租金?
...全文
70 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmvb 2004-08-26
  • 打赏
  • 举报
回复
一楼二楼都有问题,只有三楼的方法可行!!!
LoveSQL 2004-08-26
  • 打赏
  • 举报
回复
楼上的如果是2月份会算出有30天,好像有问题啊
create function udf_getdaynum(@aa datetime)
returns int
as
begin
declare @bb datetime,@day int
set @bb=dateadd(month,1,@aa)
select @day=day(dateadd(day,-1,(cast(year(@bb) as varchar)+'-'+cast(month(@bb) as varchar)+'-'+'01')))
return @day
end

go

--更新
update 表 set 日租金=月租金/dbo.udf_getdaynum(日期)
azsoft 2004-08-26
  • 打赏
  • 举报
回复


select 月租金 / datediff(day,dateadd(month,1,@date)) as 日租金
from 表
hisi 2004-08-26
  • 打赏
  • 举报
回复
--创建函数
create function fDayNum( @date as datetime )
returns int
begin
set @date = datepart(year,@date) + '-' + datepart(month,@date) + '-01'
return datediff(day,@date,dateadd(month,1,@date))
end
Go

--更新
update 表 set 日租金=月租金/dbo.fDayNum(日期)

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧