2016-09-07 3 views
0

У меня есть таблица, содержащая 20 000 строк. Я хочу изменить существующий формат даты с 2016-04-04 по 4/4/16. У меня есть googled, но я нашел решение для перехода на текущее время. Это мой запрос.Изменение формата даты с использованием существующей даты

UPDATE [master].[dbo].[TRY] 
SET Target_Hire_Date = CONVERT(VARCHAR(20), GETDATE(), 103) 

Но этот запрос относится только к текущему времени, которое не работает для моей проблемы.

+1

Do ** not ** хранит даты как VARCHAR. Храните их в столбце 'DATE'. –

+1

Посмотрите на этом сайте http://www.w3schools.com/sql/func_convert.asp –

+0

Формат, который вы указали (4/4/16), не 103 (дд/мм/гггг), кажется, 3 (дд/мм/гг); как говорит @a_horse_with_no_name, хранить даты в столбце DATE –

ответ

1

Используйте вместо этого столбец.

UPDATE [master].[dbo].[TRY] 
SET Target_Hire_Date = CONVERT(VARCHAR(20), [YOUR-DATE-COLUMN], 103) 
0
UPDATE [master].[dbo].[TRY] 
SET Target_Hire_Date = 
CONVERT(VARCHAR(10),CAST(@a as DATE),103) 
+0

u значит вот так? UPDATE [master]. [Dbo]. [TRY] SET Target_Hire_Date = CONVERT (VARCHAR (255), CAST (@Target_Hire_Date as DATE), 103) – ika

+0

да вам нужно обновить столбец – Chanukya

0

иметь точно такой формат д/м/уу, попробуйте следующее:

UPDATE [master].[dbo].[TRY] 
SET Target_Hire_Date = convert(nvarchar,day(YOUR_EXISTING_DATE)) + '/' 
+ convert(nvarchar,MONTH(YOUR_EXISTING_DATE)) + '/' + 
convert(nvarchar,RIGHT(YEAR(YOUR_EXISTING_DATE),2)) 

только если предположить, что YOUR_EXISTING_DATE является DATETIME
лучше хранить даты в столбце DATE, то выберите формат с запросом

+0

, он работает, но он конвертируется в сегодня Дата. в моем случае, используя мою существующую дату в моей таблице, просто хочу преобразовать формат. очень ценю вашу помощь – ika

+0

изменить getdate() с вашей существующей датой (я написал (а) запрос на основании приведенного примера) –

+0

ответьте на обновление с YOUR_EXISTING_DATE –

Смежные вопросы