我有两个数字(整数)- 20210501 &20210101,前4位为年,后2位为月,后2位为日。我想编写一个SQL查询,将这些整数转换为日期,然后找出两个日期之间的月差
这两个整数的日期格式很方便。因此,您可以将其转换为字符串,然后转换为日期并使用datediff()
:
select datediff(month,
convert(date, convert(varchar(255), @val1)),
convert(date, convert(varchar(255), @val2))
)
首先将varchar格式转换为日期格式并获得月差
——SQL SERVER
SELECT DATEDIFF(MONTH, CONVERT(varchar, CAST('20210101' AS DATE), 23), CONVERT(varchar, CAST('20210501' AS DATE), 23)) month_diff
交替的方式
——SQL SERVER
SELECT DATEDIFF(MONTH, CAST(CONVERT(varchar, CAST('20210101' AS DATE), 23) AS date), CAST(CONVERT(varchar, CAST('20210501' AS DATE), 23) AS date)) month_diff