我想创建一个表,一旦添加一个条目就会自动生成一个运行日期。
CREATE TABLE ProjectDate (
Year varchar(10)
,TotalOrders varchar(15)
,RunDate date NOT NULL DEFAULT GETDATE())
我应该在上面的语句中修改什么来添加像" Project Run On" +运行日期GETDATE()
以上?
这是我想要的结果:
Year TotalOrders RunDate
2005 1379 Project Run On 8/13/2017
2006 3692 Project Run On 8/13/2017
2007 12443 Project Run On 8/13/2017
2008 13951 Project Run On 8/13/2017
答案 0 :(得分:2)
您可以将函数调用作为默认值,这样就可以了:
CREATE TABLE ProjectDate (
Year varchar(10),
TotalOrders varchar(15),
RunDate varchar(255) NOT NULL DEFAULT CONCAT('Project Run On ', CONVERT(VARCHAR(10), GETDATE(), 121))
);
注意:我更喜欢ISO标准格式YYYY-MM-DD。
这是Rextester。
答案 1 :(得分:2)
为什么要将污染 USEFUL 日期值转换为无意义/冗余字符串?
这确实属于表示层。它在查询中没有意义:
示例强>
Select *
,Msg = Format(RunDate,'Projec\t Run On M/dd/yyyy')
From ProjectDate
Where DatePart(YEAR,RunDate)=2017