Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поле типа Date. [D6, MSSQL]


Вероника ©   (2002-04-19 15:34:00) 

Помогите пожалуйста. У меня есть поле типа Date. Я должна написать запрос в котором нужно скопировать данные таблицы за одно число в строку таблицы с другим числом. При этом я запрашиваю два числа. Число с которого нужно скопировать данные и число на которое нужно скопировать данные. Во-первых, я не могу в запросе правильно написать сравнение поля (оно у меня называется p_date) с числом которое я ввожу через MEEdit (переменная называется medata), во-вторых, это число воспринимается как месяц, число, год. Что мне сделать?


Delirium   (2002-04-19 19:04:00) [1]

Естественно, это формат ДАТЫ, а время и так везде имеет одинаковый формат hh:nn:ss.zzzz :)


wicked   (2002-04-19 19:00:00) [2]

хм.... сработало:
declare @d datetime

set @d = "20020419"

print @d
select @d

но если еще и время так закодировать, то ничего не выйдет...
правда, запись "2002-04-19" имхо более наглядна...


Delirium   (2002-04-19 18:38:00) [3]

Дело в том, что формат yyyymmdd это универсальный формат даты для MSSQL, не зависящий от региональных установок, а следовательно предпочтительный.


wicked   (2002-04-19 18:29:00) [4]


> declare @D datetime set @D="20020419 18:00:00" -- 19 апреля
> 2002г. 6 вечера

а чёрточки там ставить не надо?.....
типа так - "2002-04-19 18:00:00"...


Delirium   (2002-04-19 17:59:00) [5]

На самом деле наиболее правильно делать так:

declare @D datetime set @D="20020419 18:00:00" -- 19 апреля 2002г. 6 вечера
select * from myTable where myField=@D

В этом случае MSSQL-ю не придётся многократно преобразовывать дату из символьного вида во внунтренний формат, что зачастую существенно сказывается на времени исполнения запроса.


zx   (2002-04-19 16:51:00) [6]

лучше работай с типом дата!
StrToDate()


Вероника   (2002-04-19 16:20:00) [7]

Я запоминаю дату в переменную medata типа string и мне не удается сравнить ее с полем типа дата.


zx   (2002-04-19 16:07:00) [8]

> месяц, число, год
У них это так:)
Дату лучше подставлять как параметр
И именно типа дата


Вероника   (2002-04-19 16:03:00) [9]

Вместо числа должна быть переменная. При этом она типа string. Даже если я перевожу ее из типа string в тип date ничего не получается.


Вероника   (2002-04-19 16:01:00) [10]

Вместо числа должна быть переменная. При этом она типа string. Даже если я перевожу ее из типа дата в стринговый ничего не получается.


zx   (2002-04-19 15:42:00) [11]

insert into таблица(f1, f2, f3)
select f1, f2, "01.01.2002" from таблица
where f3 = "01.01.2001"


Наверх

Титульная страница Поиск, карта сайта Написать письмо