7

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

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

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

任何快速修复?

4

4 回答 4

13

您需要的日期时间格式是什么?

从这里选择一个http://www.sql-server-helper.com/tips/date-formats.aspx并将其转换为如下所示的字符

INSERT INTO [Table_1]
           ([textColumn])
     VALUES
           ('Date: ' +CONVERT(CHAR(10),  GETDATE(), 120))
GO
于 2011-08-09T08:06:12.917 回答
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

于 2011-08-09T08:04:55.977 回答
1

您可以仅将日期时间存储在列中,而不是将其添加为数据的一部分,使用 SELECT 语句附加文本日期

select 'Date '+ CAST(GETDATE() as nvarchar(max)) from [Table_1]

于 2011-08-09T10:13:44.820 回答
0

如果输出字段之一为空,则组合输出将为空。要解决,试试这个

lname + ',' + space(1) + fname + space(1) + (当 mname 为 null 然后 '' else mname end) as FullName

来自: http ://forums.devshed.com/ms-sql-development-95/concatenate-when-one-column-is-null-371723.html

我试过了,它有效!

于 2013-04-11T11:26:52.190 回答