Преобразование даты SQL

63
6

Я хочу преобразовать форму даты с yyyymmdd в mm dd yyyy


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


У меня есть следующее выражение, и мне нужно, чтобы он снимал дату


select Date_of_hire from Employee where employeeID='input'

спросил(а) 2021-01-25T15:36:07+03:00 4 месяца, 4 недели назад
1
Решение
99

SELECT REPLACE(CONVERT(VARCHAR(10), requested, 110), '-', ' ') AS hiredate

Посмотрите http://www.sql-server-helper.com/tips/date-formats.aspx для дальнейшей справки. Обратите внимание, что это эквивалентно

SELECT REPLACE(CONVERT(VARCHAR(10), requested, 101), '/', ' ') AS hiredate

ответил(а) 2021-01-25T15:36:07+03:00 4 месяца, 4 недели назад
89

Выбор формата даты - это работа, которая лучше всего выполняется на уровне презентации (ваше приложение форм, ваше приложение ASP, отчет и т.д.). Пусть SQL просто возвращает поле DATETIME и представляет его в любом формате, который вам нравится, правильно настроив вывод вашего приложения.

ответил(а) 2021-01-25T15:36:07+03:00 4 месяца, 4 недели назад
63

Это будет работать:


select replace(convert(varchar, Date_of_hire, 101), '/', ' ') 
from Employee where employeeID='input'

ответил(а) 2021-01-25T15:36:07+03:00 4 месяца, 4 недели назад
63

Я столкнулся с этим несколько раз, импортируя данные из AS400 (дата, хранящуюся в виде строки) в таблицу sql, где нет никакого приложения в середине для форматирования, поэтому я могу понять, почему вы можете захотеть для этого.

Посмотрите в Cast и Convert() (http://msdn.microsoft.com/en-us/library/ms187928.aspx)


select Convert(varchar,Cast(Date_of_hire as datetime) ,101) as Date_of_hire from Employee where employeeID='input'

Это будет отформатировать его как 01/01/2001.

Проблема с конвертированием заключается в том, что она действительно ограничена тем, как она ее форматирует.

Чтобы получить дату из такой строки, вы можете оставить конвертировать и просто вставить как дату и время.

ответил(а) 2021-01-25T15:36:07+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема