2011-08-09 15 views
6

Tôi cần phải chèn một chuỗi (một chú thích) cần bao gồm một ngày. Những gì tôi cần là về cơ bản là thao tác đơn giản sau đây:Làm thế nào để nối một chuỗi và GETDATE() trong MSSQL

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

Tuy nhiên điều này, trả về lỗi sau: chuyển đổi thất bại khi chuyển đổi ngày tháng và/hoặc thời gian từ chuỗi ký tự.

Mọi bản sửa lỗi nhanh?

Trả lời

11

định dạng ngày giờ bạn cần là gì?

chọn một từ đây http://www.sql-server-helper.com/tips/date-formats.aspx và chuyển nó sang một char như dưới đây

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

Cảm ơn, đó chỉ là những gì tôi cần. Tôi đã kết thúc với phiên bản này: 'chuyển đổi (VARCHAR (11), GETDATE(), 106)) - Định dạng: 09 Aug 2011' – Kjartan

5

Tùy thuộc vào định nghĩa của cột, bạn có thể thử để cast hoặc chuyển đổi ngày để loại mong muốn:

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

Để định dạng ngày, sử dụng Chuyển đổi, ví dụ

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

Tham số cuối cùng xác định định dạng - xem msdn để biết chi tiết.

0

Thay vì thêm nó như là một phần của dữ liệu, bạn có thể lưu trữ chỉ datetime trong cột append Ngày văn bản sử dụng câu lệnh SELECT

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

Các vấn đề liên quan