= @RangeBegin AND [Date]-6ren">
gpt4 book ai didi

具有 "bad"日期条件的 Sql Server SELECT 语句

转载 作者:行者123 更新时间:2023-12-01 09:36:35 30 4
gpt4 key购买 nike

假设我需要从数据库中选择日期字段在特定时间范围内的记录。选择查询是这样的:

SELECT * FROM [MyTable] WHERE [Date] >= @RangeBegin AND [Date] <= @RangeEnd;

但是当日期字段可能为空或无效时,我有一个小条件。在这种情况下,日期值应取自 @DefaultDate。

如何将所有这些都放入 SQL 中?

最佳答案

既然您说日期可能无效,我假设您已将日期存储为 varchar。您可以使用isdate检查日期是否有效。

select case isdate([Date]) 
when 1 then cast([Date] as datetime)
else @DefaultDate
end as [Date]
from MyTable
where case isdate([Date])
when 1 then cast([Date] as datetime)
else @DefaultDate
end between @RangeBegin and @RangeEnd

关于具有 "bad"日期条件的 Sql Server SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6676471/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com