| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > Хранится в виде 'число.месяц.год', а запрос другой |
| Автор: pavelv 21.1.2007, 07:56 |
| Здравствуйте. Недавно начал работать с MS sql server 2000 и столкнулся с такой проблемой. Если создать таблицу TEST с двумя полями: Nomer :int и date_d:datetime. И вводить в неё информацию через SQL SERVER Enterprise manager, то она сохраняется в таком виде: Nomer Date_d 1 14.01.2007. Но при выводе записи по дате: select * from TEST where date_d='14/01/2007' возникает ошибка в виде 'couldn't convert...'. А связано это с тем, что в базе данных информация о дате хранится в виде год.месяц.число(если сделать select * from TEST). Тоесть запрос: select * from TEST where date_d='2007/01/14' сработает. Вопрос: Можли ли сделать так, чтобы дата при просмотре в интерпрайз мэнэджере отображалась в том же виде как она хранится в базе. Привыкнуть не проблема, но непонятно с чем связано такое несогласование. P.S> Не исключаю возможности, что дело в самом ентерпрайз мэнэджере |
| Автор: pavelv 21.1.2007, 15:00 |
| Ок, спс. Про dateforamt не знал, может есть у кого компактный хелп? |
| Автор: speshi 21.1.2007, 17:13 |
| USE ANSI select * from TEST where date_d='20070114' &&& ГГГГММДД |
| Автор: RST8 25.1.2007, 20:16 |
1. До каких пор действует эта команда, только на один запрос? Тогда прийдется это всегда добавалять к select-у. 2. Есть два установленных сервера, один из них воспринимает даты в виде дмг, а другой мдг. От чего это зависит? Ставильсь вроде одинаково. Можно ли это изменить где либо в настройках сервера? 3. Каков лучший и правильный способ что написание прграммы что бы она коректно работала с датой, независимо от настроек сервера? |
| Автор: ТоляМБА 26.1.2007, 08:03 | ||||||
http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&article_num=001987 |