gpt4 book ai didi

sql - 将 DATEPART 存储在表中

转载 作者:行者123 更新时间:2023-12-02 07:11:08 25 4
gpt4 key购买 nike

有没有一种方法可以将 DATEPART 参数存储在 TABLE 中,以便稍后将其作为变量传递给 DATEADD(...)。像这样

CREATE TABLE abc
(
Freq <some DATEPART type>,
FromDate DATE,
NumOfDays INT
)

然后在我看来

CREATE VIEW abc
AS
SELECT DATEADD(Freq, NumOfDays, FromDate)
FROM abc

(是的,我知道我可以通过 DYNAMIC SQL 执行此操作,但 View 不采用动态 sql,我想避免使用动态 sql)。

最佳答案

如果您不想使用动态 SQL,则不。

由于 DateParts 的数量有限,您可能会使用 CASE 语句,例如:

SELECT CASE
WHEN Freq = 'Year' THEN DATEADD(Year, NumOfDays, Fromdate)
WHEN Freq = 'Day' THEN DATEADD(Day, NumOfDays, FromDate)
... END as 'MyField'
FROM Abc

关于sql - 将 DATEPART 存储在表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5734649/

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