我正在尝试将我的EntryDate列设置为'YYYY_m‘格式,例如'2013_04’。
此代码未成功。
DATENAME (YYYY, EntryDate) + '_' + DATEPART (M, EntryDate) 使用DATEFORMAT的尝试也失败了,声称在M之后出现了语法错误,什么代码可以代替?
谢谢。
发布于 2015-01-12 19:46:32
date_format()怎么样?
select date_format(EntryDate, '%&Y_%m')这是MySQL的方式。您的代码看起来像是试图在Server中执行此操作。
编辑:
以下内容应适用于Server:
select DATENAME(year, EntryDate) + '_' + RIGHT('00' + DATEPART(month, EntryDate), 2)就我个人而言,我可能使用convert()
select replace(convert(varchar(7), EntryDate, 121), '-', '_')发布于 2015-01-12 19:46:05
select DATENAME (YYYY, EntryDate)
+ '_'
+ right('0' + convert(varchar(2),datepart (MM, EntryDate)), 2)您必须将DATEPART()的结果转换为字符串,这样+才能执行追加。
未来“不成功”并不意味着什么。下一次将收到的实际错误发布。
发布于 2015-01-12 19:45:58
例如:
SELECT concat(EXTRACT(YEAR FROM '2015/1/1'), '_',
LPAD(extract(month from '2014/1/1'),2,'0')) AS OrderYear这是用
工作小提琴http://sqlfiddle.com/#!2/63b24/8
https://stackoverflow.com/questions/27909453
复制相似问题