Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Преобразование даты в один формат  [new]
dolcegabbana
Member

Откуда:
Сообщений: 7
Здравствуйте! Есть столбец с датами - d.mm.yyyy, dd.m.yyyy. Мне нужно вместо точек вставить '-'. Помогите пожалуйста написать правильный скрипт. Сам пытался понять, да пока что не получается. Заранее спасибо! :)
24 сен 14, 15:30    [16616524]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3618
dolcegabbana
Здравствуйте! Есть столбец с датами - d.mm.yyyy, dd.m.yyyy. Мне нужно вместо точек вставить '-'. Помогите пожалуйста написать правильный скрипт. Сам пытался понять, да пока что не получается. Заранее спасибо! :)

это формат вывода, а не хранения, юзай конверт в варчар с преобразованием в нужный формат
типа:
convert(varchar, столбец, 107)
24 сен 14, 15:40    [16616610]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
igr_ok
Member

Откуда:
Сообщений: 170
dolcegabbana,

CAST and CONVERT
24 сен 14, 15:40    [16616611]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
dolcegabbana
Member

Откуда:
Сообщений: 7
Ivan Durak, использую convert(varchar, [название столбца], 107) as [название столбца], но выдает результат с датами без каких либо изменений. Функция то не сложная, но вот на ней и остановился. Может быть я ее не правильно применяю? пишу её в select'e
24 сен 14, 15:48    [16616675]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
dolcegabbana
Ivan Durak, использую convert(varchar, [название столбца], 107) as [название столбца], но выдает результат с датами без каких либо изменений. Функция то не сложная, но вот на ней и остановился. Может быть я ее не правильно применяю? пишу её в select'e
Столбец какого типа?
Подозреваю, что строковый, а не дата.
В таком случае можете вызвать конверт в строку сколько хотите раз - сервер её просто проигнорирует. Он не дурак!
24 сен 14, 15:51    [16616693]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
iap
dolcegabbana
Ivan Durak, использую convert(varchar, [название столбца], 107) as [название столбца], но выдает результат с датами без каких либо изменений. Функция то не сложная, но вот на ней и остановился. Может быть я ее не правильно применяю? пишу её в select'e
Столбец какого типа?
Подозреваю, что строковый, а не дата.
В таком случае можете вызвать конверт в строку сколько хотите раз - сервер её просто проигнорирует. Он не дурак!
А чтобы понимать проблему однозначно,
Вам надо оформить своё сообщение как положено.
Хватило бы пары ответов.
24 сен 14, 15:53    [16616708]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
dolcegabbana
Member

Откуда:
Сообщений: 7
Так и что мне сделать в случае если не дата, а строковые данные, для того, чтобы сервер ее не проигнорировал?! Как правильно написать? в столбце такие данные: d.m.yyyy, dd.m.yyyy, d.mm.yyyy.
24 сен 14, 15:55    [16616723]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
dolcegabbana
Member

Откуда:
Сообщений: 7
iap
iap
пропущено...
Столбец какого типа?
Подозреваю, что строковый, а не дата.
В таком случае можете вызвать конверт в строку сколько хотите раз - сервер её просто проигнорирует. Он не дурак!
А чтобы понимать проблему однозначно,
Вам надо оформить своё сообщение как положено.
Хватило бы пары ответов.


Обращаюсь на форум впервые, заранее извиняюсь за возможно неправильно поставленный вопрос.
24 сен 14, 15:58    [16616737]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
dolcegabbana
Так и что мне сделать в случае если не дата, а строковые данные, для того, чтобы сервер ее не проигнорировал?! Как правильно написать? в столбце такие данные: d.m.yyyy, dd.m.yyyy, d.mm.yyyy.
Что значит "если"?
Так какой тип поля-то?

Могу предположить, что надо сначала преобразовать поле в тип DATE (в старых версиях придётся в DATETIME),
а потом обратно в строку, но с другим стилем.

Однако, кто его знает, все ли строки корректны...
24 сен 14, 15:59    [16616747]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
iiyama
Member

Откуда:
Сообщений: 642
dolcegabbana,

select replace('13.1.2014', '.','-')
union
select replace('1.13.2014', '.','-')
24 сен 14, 16:03    [16616769]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
dolcegabbana
Member

Откуда:
Сообщений: 7
iiyama
dolcegabbana,

select replace('13.1.2014', '.','-')
union
select replace('1.13.2014', '.','-')


Спасибо!!!!!! Получилось!!!!!!
24 сен 14, 16:05    [16616782]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
iiyama
Member

Откуда:
Сообщений: 642
PS. Не нужно хранить дату как строку
24 сен 14, 16:05    [16616786]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
dolcegabbana
Member

Откуда:
Сообщений: 7
iiyama
PS. Не нужно хранить дату как строку


Теперь буду знать! Спасибо большое!
24 сен 14, 16:06    [16616801]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
iiyama
Member

Откуда:
Сообщений: 642
незачто, пока подумайте куда Вы будете пихать 13-тый месяц
24 сен 14, 16:08    [16616810]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование даты в один формат  [new]
andrey odegov
Member

Откуда:
Сообщений: 473
iiyama, в 13 зарплату $)
24 сен 14, 20:57    [16618131]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить