Sql server 如何将日期格式从yyyy-mm-dd更改为yyyymm?

Sql server 如何将日期格式从yyyy-mm-dd更改为yyyymm?,sql-server,Sql Server,请帮助将我的日期代码转换为YYYYMM格式的输出 select convert (date,DATEADD(YEAR, DATEDIFF(YEAR,0,GETDATE()) + 1, -1)) as lastDayOfPrevYear SELECT DATEFROMPARTS ( DATEPART(yyyy, GETDATE()) - 1, 1, 1 ) as firstDayOfPrevYear SELECT DATEFROMPARTS(YEAR(GETDATE()), 1, 1) as f

请帮助将我的日期代码转换为YYYYMM格式的输出

select convert (date,DATEADD(YEAR, DATEDIFF(YEAR,0,GETDATE()) + 1, -1))  as lastDayOfPrevYear
SELECT DATEFROMPARTS ( DATEPART(yyyy, GETDATE()) - 1, 1, 1 ) as firstDayOfPrevYear
SELECT DATEFROMPARTS(YEAR(GETDATE()), 1, 1) as firstDayOfCurrentYear
只需像这样使用FORMAT函数

SELECT
    MyDate = GETDATE(),
    mmddyyyy = FORMAT(GETDATE(),'MMddyyyy'),
    YYYYMM = FORMAT(GETDATE(),'yyyyMM')
只需像这样使用FORMAT函数

SELECT
    MyDate = GETDATE(),
    mmddyyyy = FORMAT(GETDATE(),'MMddyyyy'),
    YYYYMM = FORMAT(GETDATE(),'yyyyMM')

日期没有格式,但您可以创建一个字符串,甚至可以创建一个整数作为yyyymm

范例


日期没有格式,但您可以创建一个字符串,甚至可以创建一个整数作为yyyymm

范例


选择CONVERTvarchar,GETDATE,112;
答案是201907

选择CONVERTvarchar,GETDATE,112;
答案是201907,仅供参考,date没有格式,它是二进制数据date、DateTime和DateTime2类型没有格式,并且不会存储为格式化字符串。因为您是人类,所以您只能感知一种格式,因此默认显示会显示以ISO8601表示法格式化的值。显示的格式不是持久层的问题,而是表示层的问题,在表示层中,值被呈现给用户查看。选择convertvarchar6,getdate,112是最快的方式,format函数执行awfullFYI,date没有格式,它是二进制数据日期,DateTime,和DateTime2类型没有格式,也不会存储为格式化字符串。因为您是人类,所以您只能感知一种格式,因此默认显示会显示以ISO8601表示法格式化的值。显示的格式不是持久性层的问题,而是表示层的问题,在表示层中,值被呈现给用户查看。选择convertvarchar6,getdate,112是最快的方法,format函数执行得非常好如果您关心性能,那么您将避免使用FORMATFormat,因为它有一些很好的功能,但如果不谨慎使用,它应该附有警告标签。。。性能可能会受到影响。如果您关心性能,那么您将避免使用FORMATFormat。FORMATFormat有一些很好的功能,但是如果不谨慎使用,它应该附带一个警告标签。。。性能可能会受到影响,实际上,如果不设置varchar大小,答案是20190711。此外,发布重复答案可能会吸引反对票。实际上,如果不设置varchar大小,答案是20190711。此外,公布重复答案可能会吸引选票下降。