sql-server-2008 - DateDiff年转换为小数

标签 sql-server-2008 tsql datediff

我想在两个日期中查找它们之间的年数,但是我需要将该值显示为两位小数。我尝试了以下操作,但是由于我的所有日​​期都不能涵盖整个年份,因此我始终会返回0值:

DATEDIFF(yy, @EndDateTime, i.mat_exp_dte)

然后,我尝试查找两者之间的天数,然后将其除以365,但这仍然返回0:
DATEDIFF(dd, @EndDateTime, i.mat_exp_dte)/365

现在对如何计算这个感到困惑。我需要将DataDiff转换为其他数据类型吗?

最佳答案

试试这个吧。

DATEDIFF(dd, @EndDateTime, i.mat_exp_dte)/365.0

用int除以int会返回int。除以小数点后,您将得到一个十进制数。

关于sql-server-2008 - DateDiff年转换为小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10411704/

相关文章:

mysql - LEFT JOIN 上的 MAX() 值

php - Symfony2 DATEDIFF 函数

mysql - 使用MYSQL计算同一列中多个日期之间的时间

sql - 如何将连接的返回限制为每个表只有一行?

sql - 将数据类型 varchar 转换为 float 时出错

c# - 我在哪里/如何在我的 C# 代码中编写 T-SQL 并获得结果 (Visual Studio 2008)

sql - uniqueidentifier 列的问题

sql - 如何在SQL Server 2008中执行函数

sql - 如何显示 sum 函数的结果集为零

c# - 如何将日期时间插入时间(0)字段