Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Формат даты через точки SQLServer2005 - 'DD.MM.YYYY HH24:MI:SS'  [new]
Freeze729
Member

Откуда:
Сообщений: 161
Доброй ночи.

Что-то попал я немного в SQLServer2005 с приведением дат.

Можете подсказать, как привести convert или другой функцией к формату
как в оракле to_date('18.02.2011 17:56:00','DD.MM.YYYY HH24:MI:SS')

А то делаю update fly set date_time='02.13.2012 12:35:00'
А отображает в БД как -> 13.02.2012 12:35:00

Я глянул на msdn там вроде 103 праворульная подходит, но она без точек. А как с точками?

[url=]http://msdn.microsoft.com/ru-ru/library/ms187928.aspx[/url]
2 фев 12, 02:20    [12016411]     Ответить | Цитировать Сообщить модератору
 Re: Формат даты через точки SQLServer2005 - 'DD.MM.YYYY HH24:MI:SS'  [new]
Crimean
Member

Откуда:
Сообщений: 13147
+ replace?
2 фев 12, 02:22    [12016415]     Ответить | Цитировать Сообщить модератору
 Re: Формат даты через точки SQLServer2005 - 'DD.MM.YYYY HH24:MI:SS'  [new]
Freeze729
Member

Откуда:
Сообщений: 161
Это я так понимаю подсказка. Чтобы ее потом реплейсом обработать, да?

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

Можете пример дать? Есть поле date_time и есть желание узнать записи больше 17.02.2012 17:56.
2 фев 12, 02:42    [12016446]     Ответить | Цитировать Сообщить модератору
 Re: Формат даты через точки SQLServer2005 - 'DD.MM.YYYY HH24:MI:SS'  [new]
Crimean
Member

Откуда:
Сообщений: 13147
стоп. а поле изначально datetime? если да то вот это

> есть желание узнать записи больше 17.02.2012 17:56

лучше решать как

date_time > convert( datetime, 'ваша константа', ваш формат)
2 фев 12, 02:52    [12016454]     Ответить | Цитировать Сообщить модератору
 Re: Формат даты через точки SQLServer2005 - 'DD.MM.YYYY HH24:MI:SS'  [new]
BorisS
Member

Откуда: Москва
Сообщений: 587
Freeze729
А то делаю update fly set date_time='02.13.2012 12:35:00'
А отображает в БД как -> 13.02.2012 12:35:00


Вот именно, что отображение зависит от региональных настроек даты.

Я глянул на msdn там вроде 103 праворульная подходит, но она без точек. А как с точками?


104 вам подойдет для отображения. Хоть там и гг, но convert(varchar(10), @mydate) вернет год как гггг. А для записи лучше использовать 112-ю - она от региональных настроек даты не зависит и всегда будет верно интерпретирована сервером. Правда, со штампом даты в ней записывать не пробовал. Попробуйте, у меня просто в данный момент нет доступа к базе.
2 фев 12, 02:55    [12016457]     Ответить | Цитировать Сообщить модератору
 Re: Формат даты через точки SQLServer2005 - 'DD.MM.YYYY HH24:MI:SS'  [new]
Freeze729
Member

Откуда:
Сообщений: 161
Вроде работает. Да date_time тип datetime.

Сравнивает корректно:
where date_time >= convert( datetime, '02.02.2012 12:45', 104) 


И апдейт проходит:
update fly set date_time=convert( datetime, '26.02.2012 17:55:00', 104) where code=8


Спасибо.
2 фев 12, 03:05    [12016466]     Ответить | Цитировать Сообщить модератору
 Re: Формат даты через точки SQLServer2005 - 'DD.MM.YYYY HH24:MI:SS'  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Freeze729
Вроде работает. Да date_time тип datetime.

Сравнивает корректно:
where date_time >= convert( datetime, '02.02.2012 12:45', 104) 


И апдейт проходит:
update fly set date_time=convert( datetime, '26.02.2012 17:55:00', 104) where code=8


Спасибо.
Короче так:
update fly set date_time='2012-02-26T17:55:00' where code=8
или так:
update fly set date_time='20120226 17:55:00' where code=8
2 фев 12, 09:32    [12016794]     Ответить | Цитировать Сообщить модератору
 Re: Формат даты через точки SQLServer2005 - 'DD.MM.YYYY HH24:MI:SS'  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Использование данных даты и времени
2 фев 12, 09:33    [12016798]     Ответить | Цитировать Сообщить модератору
 Re: Формат даты через точки SQLServer2005 - 'DD.MM.YYYY HH24:MI:SS'  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 4998
Freeze729
А то делаю update fly set date_time='02.13.2012 12:35:00'

set dateformat MDY
update fly set date_time='02.13.2012 12:35:00'
2 фев 12, 13:29    [12018619]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить