Как преобразовать значения даты и времени в NVARCHAR и хотите отформатировать его «месяц, год», например, 1 октября 2009 значение должно получить преобразованы в «Октябрь, 2009»Преобразование DateTime в NVARCHAR, только месяц и
ответ
использовать это:
select CONVERT(nvarchar(50), DATENAME(m, getdate())
+ ', '
+ DATENAME(yyyy, getdate())
)
ВЫВОД:
--------------------------------------------------
October, 2009
(1 row(s) affected)
Один из способов будет использовать datename, чтобы извлечь куски необходимые вам в формате имени, так:
выберите Convert (NVARCHAR, datename (м, GETDATE())) + N '' + Преобразование (NVARCHAR, datename (уу, getdate()))
И замените getdate() на вашу переменную/поле даты.
было бы более эффективно конвертировать все в одно время в nvarchar. также не забывайте, если вы не укажете длину nvarchar в CONVERT, по умолчанию она будет равна 30 и будет усекаться. например, запустите этот _SELECT CONVERT (nvarchar, 'abcdefghijklmnopqrstuvwxyz1234567890') _, вы получите только первые 30 символов и не увидите усеченных символов: «567890», и нет ошибки или предупреждения. –
Функция DateName обеспечит форматирование вам понадобится:
DATENAME(m, date) + ', ' + DATENAME(yyyy, date)
Преобразование в NVARCHAR определенного размера можно сделать с помощью функции литом:
CAST(value AS nvarchar[30])
Datepart будет возвращать только цифры, необходимо указать имя –
Datepart - это числовое представление, а не название, к сожалению. – Andrew
Исправлено. Спасибо. –
Попробуйте
DECLARE @DateTime DATETIME
SET @DateTime = '01 Oct 2009'
SELECT @DateTime
SELECT DATENAME(mm, @DateTime) + ', ' + CAST(DATEPART(yy, @DateTime) AS VARCHAR(4))
не возвращает nvarchar в качестве запросов OP –
, затем отбрасывает его или присваивает переменной nvarchar ... –
Попробуйте следующий запрос:
Select case Convert(int, day(getdate())) when 1 then '1st' when 2 then '2nd'
when 3 then '3rd' else Convert(varchar, day(getdate()))+'th' end +' '+ Convert(varchar, Datename(m,getdate()))+' ' +Convert(varchar, Datename(yy,getdate())) as Date
Вы можете заменить GETDATE() с любой другой день.
Пожалуйста, проверьте это.
- 1. Преобразование nvarchar в datetime
- 2. Преобразование DateTime в nvarchar
- 3. Преобразование nvarchar в datetime
- 4. Преобразование даты nvarchar в datetime
- 5. SQL Преобразование NVARCHAR в Datetime по запросу
- 6. Преобразование типа NVARCHAR данных в DateTime
- 7. Преобразование nvarchar в datetime sql server
- 8. Преобразование NVARCHAR в datetime Keeps Failing
- 9. Преобразование типа NVARCHAR данных к DateTime
- 10. Преобразование строки в datetime в год и месяц SQL
- 11. Преобразование nvarchar (mm/yyyy) в DateTIme на сервере Sql
- 12. Преобразование года только в Datetime в PHP
- 13. DateTime ParseExact преобразование увеличивается месяц на 1
- 14. Преобразование столбца nvarchar (50) в datetime в SQL CE 4.0
- 15. Преобразование nvarchar в datetime в арифметическом переполнении SQL Server 2008
- 16. MySQL в SQL Server: Преобразование типа NVARCHAR данных в DateTime
- 17. Преобразование nvarchar ISO-8601 дата в datetime в SQL Server
- 18. Преобразование nvarchar (время эпохи) в datetime в t-Sql
- 19. Преобразование nvarchar в datetime для запроса диапазона дат
- 20. CAST nvarchar to DATETIME
- 21. Преобразование Nvarchar (MAX) в DATETIME Тип данных SQL Server запрос
- 22. Преобразование nvarchar в DATE
- 23. Преобразование varchar в nvarchar
- 24. Преобразование nvarchar в int
- 25. Преобразование nvarchar (4000) в nvarchar (max)
- 26. Конвертировать nvarchar (MAX) в datetime
- 27. Преобразование nvarchar в varchar
- 28. Преобразование nvarchar в числовой
- 29. Класс DateTime и последний месяц
- 30. Преобразование строки в datetime
очень хороший ответ ... –
Если он хочет поместить его в переменную, уже объявленную как nvarchar, конвертер не нужен, поскольку он будет неявно преобразовываться во время размещения информации в переменной. Единственное место, где я знаю, где данные varchar неявно конвертируются, находится в SSIS. – HLGEM