Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-50182
NY152
2002-01-29 14:03
2002.05.16
Блокировка повторного запуска приложения


14-50118
deleon
2002-04-05 13:48
2002.05.16
Есть-ли у вас увлечения кроме Delphi ?


7-50139
rambler
2002-02-08 18:50
2002.05.16
Серийные номера HDD, мать ....


1-50033
Gnom
2002-05-01 18:49
2002.05.16
Текущая директория


6-50072
MK
2002-03-05 01:52
2002.05.16
Как прикрепить файл к письму?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский