Следующий оператор SELECT работает и возвращает дату в правильном FORMAT.Формат даты в инструкции INSERT
SELECT
' - '+c.[customercli]
,c.[customerlookup]
,c.[customername]
,c.[linedescription]
,c.[Sum of buy price]
,c.[Sum of sell price]
,c.[qty]
,c.[Billingmonth]
,FORMAT([FromDate],'dd/MM/yyyy')
,FORMAT([ToDate],'dd/MM/yyyy')
FROM [MasterBill].[dbo].[DaisyCallsCurrentBill] c
Но когда я запускаю следующий оператор INSERT/SELECT, я получаю следующую ошибку.
«Конверсия не удалась при преобразовании даты и/или времени из символьной строки».
INSERT INTO [MasterBill].[dbo].[CurrentBillMaster]
([identifier]
,[customer id]
,[customer name]
,[description]
,[buy price]
,[sell price]
,[qty]
,[Billingmonth]
,[FromDate]
,[ToDate])
SELECT
' - '+c.[customercli]
,c.[customerlookup]
,c.[customername]
,c.[linedescription]
,c.[Sum of buy price]
,c.[Sum of sell price]
,c.[qty]
,c.[Billingmonth]
,FORMAT([FromDate],'dd/MM/yyyy')
,FORMAT([ToDate],'dd/MM/yyyy')
FROM [MasterBill].[dbo].[DaisyCallsCurrentBill] c
The FromDate и ToDate на обеих таблицах сконфигурированы с типом «дата»
Любая помощь очень ценится.
UPDATE:. Дата в следующем формате на [DBO] [DaisyCallsCurrentBill] таблица 2014-09-01 - Я просто хочу, чтобы изменить это 01/09/2014
Но формат в моей таблице дБ составляет 2014-09-01 - мне нужно, чтобы он был 01/09/2014. – user3580480
2014-09-01 - это базовая база данных ** показывает ** дату. Если вы хотите увидеть его в 01/09/2014, вы используете форматирование. Прочитайте [this] (http://sqlmag.com/sql-server/solving-datetime-mystery) и [это] (http://blogs.lessthandot.com/index.php/datamgmt/datadesign/how-are- даты сохраненный-в-SQL-сервер /). Надеюсь, поможет. – Bhaskar
@ user3580480 -In база данных Дата будет храниться только в 'yyy-mm-dd hh: mm: ss'. Если вы хотите изменить способ хранения, измените свой тип данных на varchar, но это не имеет смысла. Все эти форматирование должны выполняться только во фронтальной части во время отображения. почему вы действительно беспокоитесь о том, как он хранится –