Как изменить длинную дату на дату - PullRequest
2 голосов
/ 23 мая 2019

Как изменить длинную дату на короткую дату

Например (воскресенье, 10 января 2018 г.) - Длинная дата, например (2018-01-10)

Ответы [ 3 ]

3 голосов
/ 23 мая 2019

Вы можете преобразовать строку в дату, как только избавитесь от дня недели:

select convert(date, stuff(longdate, 1, charindex(' ', longdate), ''))
0 голосов
/ 23 мая 2019

Я думаю, вы можете быть смущены;правильно сохраненная дата - это просто дата - число, если хотите, или количество дней (и доли дней) с некоторого момента времени.Он не имеет текста во внутреннем представлении и не может быть сокращен.

Когда вы выбираете его в запросе, инструмент запроса должен как-то представлять его, и для этого он будет форматировать его в строку, которую вы будете интерпретировать как запись в настенном календаре.По большей части нам следует избегать, чтобы БД форматировала что-либо, потому что форматирование - это работа уровня представления;веб-сайт, который вытащил вашу дату из БД и теперь должен сделать так, чтобы она выглядела как немецкий способ написания даты, потому что вошел Ганс Шмидт, но позже отформатируйте его как американский, когда Джон Доу просматривает

ЕслиВы отчаянно пытаетесь отформатировать его в БД:

FORMAT(thedate, 'yyyy-MM-dd')

Или, может быть,

LEFT(CONVERT(thedate, varchar, 120), 10)
0 голосов
/ 23 мая 2019
select convert(DATE, 'May 23 2019',101)

или

select convert(DATE, 'January 10 2018',101)

10 января 2018 года была среда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...