2011-08-09 20 views
6

Necesito insertar una cadena (un comentario) que debe incluir una fecha. Lo que necesito es básicamente la siguiente operación sencilla:Cómo concatenar una cadena y GETDATE() en MSSQL

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

Esto, sin embargo, devuelve el siguiente error: Error de conversión al convertir fecha y/u hora de cadena de caracteres.

¿Alguna solución rápida?

Respuesta

11

¿cuál es el formato de fecha y hora que necesita?

seleccione uno de aquí http://www.sql-server-helper.com/tips/date-formats.aspx y convertirlo en un char como bramido

INSERT INTO [Table_1] 
      ([textColumn]) 
    VALUES 
      ('Date: ' +CONVERT(CHAR(10), GETDATE(), 120)) 
GO 
+0

Gracias, eso era justo lo que necesitaba. Terminé con esta versión: 'convert (VARCHAR (11), GETDATE(), 106)) - Formato: 09 de agosto de 2011 – Kjartan

5

Dependiendo de la definición de la columna, se puede tratar de emitir o convertir la fecha al tipo deseado:

INSERT INTO [Table_1] 
     ([textColumn]) 
VALUES 
     ('Date: ' + CAST(GETDATE() as nvarchar(max))) 
GO 

Para dar formato a la fecha, el uso convertir, por ejemplo,

INSERT INTO [Table_1] 
     ([textColumn]) 
VALUES 
     ('Date: ' + convert(nvarchar(max), GETDATE(), 101)) 
GO 

el último parámetro define el formato - ver msdn para más detalles.

0

En lugar de añadir que como parte de los datos, que sólo puede almacenar la fecha y hora en la columna de añadir la fecha de texto usando instrucción SELECT

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

Cuestiones relacionadas