如何在MSSQL中连接字符串和GETDATE()

时间:2011-08-09 08:00:47

标签: sql-server string concatenation getdate

我需要插入一个应该包含日期的字符串(注释)。我需要的基本上是以下简单的操作:

INSERT INTO [Table_1]
           ([textColumn])
     VALUES
           ('Date: ' + GETDATE())
GO

然而,这会返回以下错误:从字符串转换日期和/或时间时转换失败。

有什么快速解决方法吗?

4 个答案:

答案 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

我尝试过它的确有效!