У меня есть дата в следующем формате в моей БД.Преобразование даты в SQL
10/16
- mm/yy
Мне нужно, чтобы преобразовать его в:
October/16
Возможно ли это?
Если это невозможно, пожалуйста, сообщите мне, почему.
У меня есть дата в следующем формате в моей БД.Преобразование даты в SQL
10/16
- mm/yy
Мне нужно, чтобы преобразовать его в:
October/16
Возможно ли это?
Если это невозможно, пожалуйста, сообщите мне, почему.
Это не дата, ее нет в день, это плохой способ хранить год/месяц. Для предотвращения путаницы должен быть 4-значный год, и год должен быть указан первым, чтобы обеспечить правильную сортировку, например. '2016/10'
или числовое значение 201610
.
Вы можете привести его к DATE первым, а затем использовать FORMAT для Disply только месяц/год:
set dateformat myd;
select format(cast(mystupidcolumn + '/1' as date), 'MMMM/yy')
Или SubStr в месяц часть и использовать случай.
Да, вы можете, и это зависит в том, что база данных используется для вызова даты функции Если столбец формата Datetime
DATENAME(Month, GETDATE())
MONTHNAME(now())
иначе новообращенный он будет по вашему выбору в базе данных или логике кода разделить значение и поиск в месяц enum
или подделать da те, которые будут приняты и полный формат даты, как 01/10/16
так что-то вроде SELECT DATENAME(Month, datecolumn) + '/' + YEAR (datecolumn)
также можно использовать вместо Year
функции DATEPART(yy,datecolumn)
, как вы делаете это с форматом будет выглядеть CONVERT(VARCHAR(11),GETDATE(),106)
но освобожденный, чтобы получить первые 3 месяца голец JUN
Пожалуйста, смотрите мой формат даты .. – JiLaBaJi
Я обновил ответ, надеюсь, что эта помощь больше, обратите внимание, что не использовать функцию формата даты –
Ошибка конверсии при преобразовании даты и/или времени из символьной строки. Я думаю, что эта ошибка для формата даты имеет только две части. – JiLaBaJi
попробовать этот формат,
SELECT DATENAME(month, DATEADD(month, @mydate-1, CAST('2008-01-01' AS datetime)))
Вы можете отображать дату, используя этот код
select datename(month, YourColumnName) + '/' + right(YEAR(YourColumnName),2)
FROM yourTableName
Просто измените yourColumnName
с именем вашего столбца таблицы и yourTableName
с именем таблицы.
Возможно, знание базы данных поможет нам! –
Что [тег: rdbms] вы используете? – Mureinik
Я использую SQL Server 2014. – JiLaBaJi