TSQL - 小于或大于日期
- 作者: 眼睛瘸410
- 来源: 51数据库
- 2023-02-07
问题描述
我想生成一个查询,显示如果 startdate 小于 4 个月,则给出 5%,如果它大于 4 个月给出 10%.
I would like to produce a query that shows if startdate is less than 4 months old give 5% if its older than 4 months give 10%.
我正在使用 SQLFiddle,但没有得到正确的输出.目前它在所有列上给我 5% 或者如果我替换
I am using SQLFiddle and I not getting the right output. At the moment it’s giving me 5% on all the columns or if I replace
SET Discount = ''
到
SET Discount = '5%'
查询成功但不显示数据.
It will query successfully but does not show data.
这是我做的代码...
Declare startdate date, finishdate date, Discount varchar(4) UPDATE Persons SET [Discount] = ' ' SELECT *, DATEADD(MM,-4,startdate) AS TADate FROM Persons WHERE Discount = '5%' AND startdate < dateadd(month,-4,getdate()) OR Discount = '10%' AND startdate < dateadd(month,4,getdate())
如果有人可以帮助我,请提前致谢.
Thanks in advance if anyone can help me.
推荐答案
在update中使用case语句根据date分配折扣
Use case statement in update to allocate discount based on date
像这样尝试update
UPDATE Persons SET [Discount] = case when startdate > dateadd(month,-4,getdate()) and startdate <= getdate() then '5%' when startdate < dateadd(month,-4,getdate()) Then '10%' End SELECT * FROM Persons
推荐阅读
热点文章
检查拆分键盘
0
带有“上一个"的工具栏和“下一个"用于键盘输入AccessoryView
0
Activity 启动时显示软键盘
0
UIWebView 键盘 - 摆脱“上一个/下一个/完成"酒吧
0
在 iOS7 中边缘滑动时,使键盘与 UIView 同步动画
0
我的 iOS 应用程序中的键盘在 iPhone 6 上太高了.如何在 XCode 中调整键盘的分辨率?
0
android:inputType="textEmailAddress";- '@' 键和 '.com' 键?
0
禁用 iPhone 中键盘的方向
0
Android 2.3 模拟器上的印地语键盘问题
0
keyDown 没有被调用
0