Главная страница
    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
14-50094
Ежик
2002-04-04 10:30
2002.05.16
Не знаю как у Вас, а у меня Жена вечно ворчит....


3-49897
perov
2002-04-22 09:00
2002.05.16
двумерные массивы


6-50062
dimmu
2002-02-19 19:42
2002.05.16
Использование TTcpServer/TTcpClient и TServerSocket/TClientSocket


1-50032
Vinivor
2002-05-01 19:35
2002.05.16
Как разбить строку на части?


1-49997
bison
2002-04-30 11:25
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский