在T-SQL中提取月份和年份
我需要在SQL Server中提取月份和年份。例如,如果日期是2015-01-01,我希望将其设置为201501,并将其转换为varchar(6) 我该怎么做在T-SQL中提取月份和年份,sql,sql-server,tsql,Sql,Sql Server,Tsql,我需要在SQL Server中提取月份和年份。例如,如果日期是2015-01-01,我希望将其设置为201501,并将其转换为varchar(6) 我该怎么做 select CONVERT(nvarchar(6), DATENAME(yyyy, getdate())) + SUBSTRING(CONVERT(nvarchar(6),getdate(), 112),5,2) 日期名称: 返回表示指定日期的指定日期部分的字符串 ref: 对于所有日期时间转换,这将有所帮助 日期名称: 返回
select CONVERT(nvarchar(6),
DATENAME(yyyy, getdate())) +
SUBSTRING(CONVERT(nvarchar(6),getdate(), 112),5,2)
日期名称:
返回表示指定日期的指定日期部分的字符串
ref:
对于所有日期时间转换,这将有所帮助
日期名称:
返回表示指定日期的指定日期部分的字符串
ref:
对于所有日期时间转换,这将有所帮助
试试看
编辑:2
declare @dt date='2015-01-01'
select CAST(REPLACE(@dt,'-','')as varchar(6))
试试
编辑:2
declare @dt date='2015-01-01'
select CAST(REPLACE(@dt,'-','')as varchar(6))
试试这个:
SELECT DATEPART(yyyy, @date) * 100 + DATEPART(mm, @date)
如果要在当前时间执行此操作,请将@date
替换为current\u TIMESTAMP
虽然结果是整数,但您可以使用CAST()
或convert()
方法将其转换为varchar(6)
。尝试以下操作:
SELECT DATEPART(yyyy, @date) * 100 + DATEPART(mm, @date)
如果要在当前时间执行此操作,请将@date
替换为current\u TIMESTAMP
虽然结果是整数,但您可以使用
CAST()
或convert()
方法将其转换为varchar(6)
。这是最简单的答案
select getdate() , convert( varchar(6) , getdate() ,112)
如果你想把年份设为2位数
select getdate() , convert( varchar(12) , getdate() ,12)
无论何时要将日期格式从标准格式转换为其他格式,请始终选中此链接
这是最简单的答案
select getdate() , convert( varchar(6) , getdate() ,112)
如果你想把年份设为2位数
select getdate() , convert( varchar(12) , getdate() ,12)
无论何时要将日期格式从标准格式转换为其他格式,请始终选中此链接
试试这个:
选择CONVERT(VARCHAR(6),CAST('2015-01-01'为日期),112)
欢迎使用堆栈溢出!在提出新问题之前,请先搜索。请尝试以下操作:选择CONVERT(VARCHAR(6),CAST('2015-01-01'作为日期),112)
欢迎使用堆栈溢出!在问新问题之前请先搜索。不行。预期结果是201501
@user3540365请查看更新的答案,因为201503不起作用。预期结果是201501
@user3540365请查看更新答案获取201503这一个不同且智能:)这一个不同且智能:)