sql server中的日期格式

yizd12fk  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(400)

我有一个名为“开始日期”的列。如:

我想得到从开始日期到年底的天数差。
在mysql中,这很有帮助 DATEDIFF(DATE_FORMAT(start_date,'%Y-12-31'),start_date) 如何在sql server中实现这一点?

b4lqfgs4

b4lqfgs41#

使用 DATEDIFF() 函数以获取天数和 DATEFROMPARTS() 要获得一年中的最后一天:

  1. select start_date,
  2. datediff(day, start_date, datefromparts(year(start_date), 12, 31)) diff
  3. from tablename

请看演示。
结果:

  1. > start_date | diff
  2. > :--------- | ---:
  3. > 2019-01-25 | 340
  4. > 2018-12-01 | 30
  5. > 2019-12-01 | 30
xzv2uavs

xzv2uavs2#

  1. SELECT
  2. start_date,
  3. cast(DATEADD (dd, -1, DATEADD(yy, DATEDIFF(yy, 0, start_date) +1, 0))as date)end_date,
  4. datediff(day, start_date, DATEADD (dd, -1, DATEADD(yy, DATEDIFF(yy, 0, start_date) +1, 0))) diff
  5. from tablename

相关问题