我需要插入一个应该包含日期的字符串(注释)。我需要的基本上是以下简单的操作:
INSERT INTO [Table_1]
([textColumn])
VALUES
('Date: ' + GETDATE())
GO
然而,这会返回以下错误:从字符串转换日期和/或时间时转换失败。
有什么快速解决方法吗?
答案 0 :(得分:11)
您需要的日期时间格式是什么?
从这里选择一个http://www.sql-server-helper.com/tips/date-formats.aspx并将其转换为下面的字符
INSERT INTO [Table_1]
([textColumn])
VALUES
('Date: ' +CONVERT(CHAR(10), GETDATE(), 120))
GO
答案 1 :(得分:5)
根据列的定义,您可以尝试将日期转换或转换为所需类型:
INSERT INTO [Table_1]
([textColumn])
VALUES
('Date: ' + CAST(GETDATE() as nvarchar(max)))
GO
要格式化日期,请使用转换,例如
INSERT INTO [Table_1]
([textColumn])
VALUES
('Date: ' + convert(nvarchar(max), GETDATE(), 101))
GO
最后一个参数定义格式 - 有关详细信息,请参阅msdn。
答案 2 :(得分:0)
不是将其作为数据的一部分添加,而是只能在列中存储日期时间,使用SELECT语句附加文本日期
select 'Date '+ CAST(GETDATE() as nvarchar(max)) from [Table_1
]
答案 3 :(得分:0)
如果输出字段之一为null,则组合输出将为null。 要解决,试试这个
lname +','+ space(1)+ fname + space(1)+ (当mname为null然后''else mname end)为FullName时的情况
自: http://forums.devshed.com/ms-sql-development-95/concatenate-when-one-column-is-null-371723.html
我尝试过它的确有效!