微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

需要在 SQL 帮助中使用 IF 函数SQL 新手

如何解决需要在 SQL 帮助中使用 IF 函数SQL 新手

如果我的问题不清楚,我很抱歉,我是新手!

我有可以追溯到 3 年前的数据,如果 InsertDateTime 列(由日期和时间组成)中的日期在过去 364 年内,我希望 364DaysFlag 列返回 1天,如果 InsertDateTime 早于 364 天,则返回 0。

为了清楚起见,Transaction.tbl.Flag 表是动态/实时的,所以每天都会添加最近的一天,这是我为了让它工作而解脱的地方!

下面是我使用过的不正确的代码(它运行但没有做我想要的),我把它加粗的地方是它需要更新的地方。

SELECT TransactionDate,TotalCustomers,[1 as 364DaysFlag],InsertDateTime
INTO Transaction.tbl.Flag
FROM Performance.Sales.Total

请有人建议我如何让它工作?我需要使用 IF 函数还是其他什么?我需要 DATEADD 和/或 GETDATE 函数吗?我对 sql 还很陌生,仍在学习中! :)

解决方法

SELECT TransactionDate,TotalCustomers,CASE WHEN /*DateColumn*/ > (GETDATE()-365) THEN 1 ELSE 0 END AS /*ColumnAlias*/,InsertDateTime
INTO database.schema.table
FROM Performance.Sales.Total

仅供参考,尽量不要以数字开头。此外,由于它是一个标志,请尝试将其转换为几个单词问题,例如“RecentSale”或类似的内容,其中 1 = yes 表示最近的销售,0 表示不是最近的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。