我正在将Oracle查询转换为SQL Server等价物,有些比其他查询更容易,现在我被困在一个包含在where子句中的查询
TRUNC(TO_NUMBER(TO_DATE(SYSDATE) - MyTable.DOBDATE) / 365, 0)
我已经读过Convert是SQL Server等同于ORACLE的TRUNC,
我知道SYSDATE将是GetDate(),但我在查询的这一部分丢失了
TRUNC(TO_NUMBER(TO_DATE(SYSDATE)
SQL Server与此等价的是什么?
修改 简而言之,我如何采用这个Oracle声明
TRUNC(TO_NUMBER(TO_DATE(SYSDATE) - MyTable.DOBDATE) / 365, 0)
并转换为其SQL Server等效项
答案 0 :(得分:0)
等价物是:
In [805]: df.groupby(df.index % 4).vals.sum()
Out[805]:
0 14.0
1 9.5
2 17.0
3 28.0
Name: vals, dtype: float64
请注意,SQL Server执行整数除法,因此结果为整数。无需额外的功能。
我认为select datediff(day, MyTable.DOBDate, getdate()) / 365
在Oracle中是多余的。这两组代码都没有精确计算年龄,因为两者都没有考虑到闰年。