Форум: "Базы";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
ВнизПоле типа Date. Найти похожие ветки
← →
Вероника (2002-04-19 15:34) [0]Помогите пожалуйста. У меня есть поле типа Date. Я должна написать запрос в котором нужно скопировать данные таблицы за одно число в строку таблицы с другим числом. При этом я запрашиваю два числа. Число с которого нужно скопировать данные и число на которое нужно скопировать данные. Во-первых, я не могу в запросе правильно написать сравнение поля (оно у меня называется p_date) с числом которое я ввожу через MEEdit (переменная называется medata), во-вторых, это число воспринимается как месяц, число, год. Что мне сделать?
← →
zx (2002-04-19 15:42) [1]insert into таблица(f1, f2, f3)
select f1, f2, "01.01.2002" from таблица
where f3 = "01.01.2001"
← →
Вероника (2002-04-19 16:01) [2]Вместо числа должна быть переменная. При этом она типа string. Даже если я перевожу ее из типа дата в стринговый ничего не получается.
← →
Вероника (2002-04-19 16:03) [3]Вместо числа должна быть переменная. При этом она типа string. Даже если я перевожу ее из типа string в тип date ничего не получается.
← →
zx (2002-04-19 16:07) [4]> месяц, число, год
У них это так:)
Дату лучше подставлять как параметр
И именно типа дата
← →
Вероника (2002-04-19 16:20) [5]Я запоминаю дату в переменную medata типа string и мне не удается сравнить ее с полем типа дата.
← →
zx (2002-04-19 16:51) [6]лучше работай с типом дата!
StrToDate()
← →
Delirium (2002-04-19 17:59) [7]На самом деле наиболее правильно делать так:
declare @D datetime set @D="20020419 18:00:00" -- 19 апреля 2002г. 6 вечера
select * from myTable where myField=@D
В этом случае MSSQL-ю не придётся многократно преобразовывать дату из символьного вида во внунтренний формат, что зачастую существенно сказывается на времени исполнения запроса.
← →
wicked (2002-04-19 18:29) [8]
> declare @D datetime set @D="20020419 18:00:00" -- 19 апреля
> 2002г. 6 вечера
а чёрточки там ставить не надо?.....
типа так - "2002-04-19 18:00:00"...
← →
Delirium (2002-04-19 18:38) [9]Дело в том, что формат yyyymmdd это универсальный формат даты для MSSQL, не зависящий от региональных установок, а следовательно предпочтительный.
← →
wicked (2002-04-19 19:00) [10]хм.... сработало:
declare @d datetime
set @d = "20020419"
print @d
select @d
но если еще и время так закодировать, то ничего не выйдет...
правда, запись "2002-04-19" имхо более наглядна...
← →
Delirium (2002-04-19 19:04) [11]Естественно, это формат ДАТЫ, а время и так везде имеет одинаковый формат hh:nn:ss.zzzz :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c