我正在尝试在SQL Server中创建主日历。我用这种语法面临问题:
[dateid] as DATEPART(YEAR, [date]) & DATEPART(day, format( [date],'DD')) & DATEPART(month, format([date], 'MM'))
[dateid] as convert(varchar(4), DATEPART(YEAR, [date])) + convert(varchar(2), DATEPART(day, format( [date], 'DD'))) + convert(varchar(2), DATEPART(month, format([date], 'MM')))
[dateid] as cast(DATEPART(YEAR, [date]) as varchar(4)) + cast(DATEPART(day, format( [date], 'DD')) as varchar(2)) + cast(DATEPART(month, format([date], 'MM')) as varchar(2))
这些陈述属于create table tablename (...)
。
我已经尝试了上面的语法并显示:
从字符串
转换日期和/或时间时转换失败
或
数据类型varchar和varchar在'&'中不兼容操作
有人可以帮我这个,我想显示像(YearDayMonth)这样的日期 - 20160111
- 如何连接这三个?
答案 0 :(得分:0)
为什么不能使用
SELECT FORMAT(SYSDATETIME(), 'yyyyddMM')
或在CREATE TABLE
声明中:
CREATE TABLE dbo.YourTable
(
.....
SomeDate DATE,
DateId AS FORMAT(SomeDate, 'yyyyddMM'),
......
)