2011-08-09 18 views
6

Potrzebuję wstawić ciąg (komentarz), który powinien zawierać datę. Co potrzebne jest w zasadzie następujące prosta operacja:Jak połączyć ciąg i GETDATE() w MSSQL

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

jednak to, zwraca następujący błąd: Konwersja nie powiodła się podczas konwersji daty i/lub czasu z ciągu znaków.

Jakieś szybkie poprawki?

Odpowiedz

11

jaki jest potrzebny format daty?

wybierz jeden stąd http://www.sql-server-helper.com/tips/date-formats.aspx i przekonwertować go do char jako mieszek

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

Dzięki, to było to, czego potrzebowałem. Skończyło się na tej wersji: 'convert (VARCHAR (11), GETDATE(), 106)) - Format: 09 sie 2011' – Kjartan

5

zależności od definicji kolumny, można spróbować rzucić lub konwertować datę do żądanego typu:

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

Aby sformatować datę, użycie Convert, np

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

ostatni parametr określa format - patrz msdn szczegóły.

0

Zamiast dodawać je jako część danych można przechowywać tylko datetime w kolumnie dołączyć tekst Data użyciu SELECT

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

Powiązane problemy