sql-server - 在 SQL Server 中减去日期
问题描述
我正在尝试将 PostgreSQL 查询转换为 T-SQL 查询,但我无法获得此 PostgreSQL 行的正确语法:
ROUND(CAST((CURRENT_DATE - setupdate) AS decimal) /365,1) AS RetentionYears
将其转换为 T-SQL 时,我已经尝试过
ROUND(CAST((GETDATE() - setupdate) AS Decimal) / 365, 1) AS RetentionYears
但是当我运行时,我得到了错误
消息 402,级别 16,状态 1,第 43 行
数据类型 datetime 和 date 在减法运算符中不兼容。
在 T-SQL 中编写该语句的正确方法是什么?
解决方案
你想要datediff()
:
DATEDIFF(year, current_timestamp, setupdate) As RetentionYears
推荐阅读
- r - 将文本表读入 R
- python - 使用 PySide2 更改 Qt .ui 文件中的组合框值
- javascript - React HOC ESLint 错误:禁止传播道具
- linux - user_regs_struct 中缺少“gs”?
- python - 如何在 django urls 中直接调用管理员
- python - 在 Crontab 中运行 Python 脚本在 Bash 中不起作用
- javascript - WebRtcLocalhostIpHandling Policy 使 webrtc peerConnection 不起作用
- stack - 子程序是否在没有堆栈的情况下执行?用有效的论据证明你的答案
- node.js - mongodb更新前的哈希密码
- winapi - Win32 - 有没有办法获得滚动条周围的边距或边框大小?