TSQL:我可以使用 getdate() 和 DATEPART 或类似的函数来引用未来的日期吗?

发布于 2024-12-04 17:05:08 字数 396 浏览 2 评论 0原文

如果指定的日期不是未来两天,我需要在 tsql 中使用 if 语句来中断存储过程的执行。

@date是存储过程的参数之一。用户知道将其正确格式化为 mm/dd/yy(tsql 日期格式 1)

检查一下:

date_check:
if @date <> convert(varchar, getdate(), 1)+datepart(day, 2)
begin
print 'Date is not two days in the future. Please enter an acceptable date.'
goto the_end
end
else
goto part_2

--请原谅 goto。

这看起来可行吗?

谢谢!

I need to use an if statement in tsql to break execution of the stored procedure if the specified date is not two days in the future.

@date is one of the parameters of the stored proc. Users know to format it correctly as mm/dd/yy (tsql date format 1)

Check it out:

date_check:
if @date <> convert(varchar, getdate(), 1)+datepart(day, 2)
begin
print 'Date is not two days in the future. Please enter an acceptable date.'
goto the_end
end
else
goto part_2

--Please excuse the goto's.

Does this look like it might work?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无敌元气妹 2024-12-11 17:05:09

您应该查看 DATEADD

类似的东西:

IF @date <> DATEADD(day, 2, GETDATE()) 

尽管您可能需要删除小时/分钟/秒/毫秒部分。

You should look at DATEADD for that.

Something like:

IF @date <> DATEADD(day, 2, GETDATE()) 

Though you will probably need to get rid of the hours/minutes/seconds/milliseconds portion.

那片花海 2024-12-11 17:05:08
if @date <> dateadd(day, 2, convert(datetime, convert(varchar, getdate(), 101)))
begin
    print 'Date is not two days in the future. Please enter an acceptable date.'
end

这假设 @date 是仅日期组件并且没有时间。

if @date <> dateadd(day, 2, convert(datetime, convert(varchar, getdate(), 101)))
begin
    print 'Date is not two days in the future. Please enter an acceptable date.'
end

This assumes that @date is a date-only component and that there is no time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文