Что не так в SQL - PullRequest
0 голосов
/ 30 августа 2018

Что не так в sql

CONCAT(title, ', from ', CONVERT(DATETIME,CONVERT(NVARCHAR,startdate,107)), ' to ', CONVERT(DATETIME,CONVERT(NVARCHAR,end_date,107)), ' (', duration , ')')

Я хочу изменить дату и время на формат 25 сентября 2018 года

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Вопрос несколько неясен, я думаю, что ваша проблема заключается в том, что вы конвертируете дату в nvarchar, используя формат 107, который является правильным для того, что вы опубликовали, что вы хотите сделать. Затем вы конвертируете его обратно в дату и время, что возвращает его к настройкам даты по умолчанию.

Так что я думаю, вам просто нужно упростить это до:

CONCAT(title, ', from ',CONVERT(NVARCHAR,startdate,107), ' to ',CONVERT(NVARCHAR,end_date,107), ' (', duration , ')')

Оригинал:

select convert(datetime,convert(nvarchar,getdate(),107));

Возвращает (это основано на локальных настройках, поэтому для SQL Server, который я использовал, он возвращает это):

2018-08-30 00:00:00.000

Меньше конверсионного кода:

select convert(nvarchar,getdate(),107);

Возвращает:

Aug 30, 2018
0 голосов
/ 30 августа 2018
SELECT LEFT(DATENAME(MONTH, GETDATE()), 3) + ' ' + cast(datepart(dd, getdate()) as varchar) + ', ' + cast(datepart(yyyy, getdate()) as varchar)

или

select convert(nvarchar,getdate(),107)
...