tsql - 将 Excel 公式(使用日期和减法)转换为 T-SQL
问题描述
我正在尝试将此 Excel 公式写入 T-SQL(编写函数)。
预期输出为 0.71944444,但目前我的输出(使用 T-SQL)为 24.0000。
我不确定为什么我们必须在同一日期添加一天并减去同一日期。
底部是 Excel 的屏幕截图:
这是我迄今为止在 T-SQL 中所拥有的:
CREATE FUNCTION [dbo].[fn_0921] (
@Punch_Start nvarchar(max)
)
RETURNS decimal(36, 8) AS
BEGIN
DECLARE @return_value nvarchar(max);
SET @return_value =
DATEDIFF(
MINUTE, CAST(@Punch_Start AS datetime2),
(
dateadd(
day, 1, CAST(@Punch_Start AS datetime2)
)
)
)
/ (60.0)
RETURN @return_value
END;
感谢帮助。
解决方案
这可能会帮助您:
DECLARE @date DATETIME2 = '2021-07-25 06:44'
DECLARE @seconds INT = DATEDIFF(second, CAST(@date AS date), @date)
DECLARE @secondsFromEnd FLOAT = 86400 - @seconds
SELECT @secondsFromEnd / 86400
推荐阅读
- prometheus-alertmanager - 我正在为普罗米修斯模板化电子邮件通知。有人可以分享一些为 promethius 警报管理器设置的电子邮件模板吗
- oracle - 完整模式下的 Oracle 导入 (impdp) 问题
- python - ModuleNotFoundError:python 3.6 中没有名为“异常”的模块
- javascript - 如何使用 Javascript 更改 api 的 JSON 参数?
- reactjs - “警告:遇到两个用同一个钥匙的孩子”重要吗?
- python - 为 pandas 索引添加一个值
- c# - 将多个文本框文本绑定到单个列表或字符串数组
- linux - 想从一个txt文件复制到另一个
- mysql - 如何使用 PowerShell 脚本将 .sql 文件导入 MySQL?
- swift - For Loop Swift:从不相关的类型转换总是失败