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

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

Преобразование формата дат через SQL [D7, ADO]


Страницы:   1 2

Jao ©   (2003-03-12 09:28:00) 

Здраствуйте!!! Подскажите пожалуйста, как изменить формат даты посредством SQL при выгрузки данных из вражеской базы посредством Selectа


ЮЮ   (2003-03-13 07:40:00) [1]

>как изменить формат даты посредством SQL при выгрузки данных из вражеской базы посредством Selectа
>форма даты имеет формат системы, а надо yy-mm-dd :-/

Формат даты, обычно, число с плавающей точкой, а не всякие там "yy-mm-dd", а формат отображения даты можно изменять где только не вздумаешь, все зависит где и как ты собираешься смотреть


Anatoly Podgoretsky   (2003-03-12 15:53:00) [2]

Можно, но только не все функции пользуются этими переменными, универсальное решение только региональные настройки


Jao   (2003-03-12 13:21:00) [3]

уже пробовал конектится к Oracle и DB2 *только в Oracle приходиться еще указывать имя схемы* - так без проблем с простыми запросами

видимо все-таки придеться программно, через DateSeparator и ShortDateFormat :-


Delirium   (2003-03-12 13:16:00) [4]

Для MSSQL всё выглядит так:

declare @D datetime
set @D=GetDate()

print "Год = "+Str(datepart(yyyy, @D))
print "Квартал = "+Str(datepart(qq, @D))
print "Месяц = "+Str(datepart(mm, @D))
print "День в году = "+Str(datepart(dy, @D))
print "День = "+Str(datepart(dd, @D))
print "Неделя = "+Str(datepart(wk, @D))
print "День в недели = "+Str(datepart(dw, @D))
print "Час = "+Str(datepart(hh, @D))
print "Минута = "+Str(datepart(mi, @D))
print "Секунда = "+Str(datepart(ss, @D))
print "Милисекунда = "+Str(datepart(ms, @D))


sniknik   (2003-03-12 13:10:00) [5]

Jao (12.03.03 12:31)
> ботва в том, что типа базы/sql server может быть любым, сейчас это Excell, а будет Oracle, Лотус и DB2

значит на на sql это не имеет решения.

кстати даже простой select * from table будет разный (для Excel надо кавычки [table] обязательно, для некоторых желательно или если название нестандартно обязательно ктото обходится такими "" ктото вообще не понимает нестандартных имен и кавычек) а ведь это простейшая команда. тут как?


Соловьев   (2003-03-12 13:02:00) [6]

попробуй не через ADO , a BDE?


Jao   (2003-03-12 12:59:00) [7]

на select cast(EXTRACT(YEAR FROM(bus.date)) as varchar(10)) from busтаже ошибка "пропущен оператор"


Соловьев   (2003-03-12 12:45:00) [8]

cast(EXTRACT(YEAR FROM(bus.date)) as varchar(10))
EXTRACT(YEAR FROM


Johnmen   (2003-03-12 12:41:00) [9]

>Jao

Твой вопрос в отрыве от типа БД бессмысленен. Или ответ на него зависит только от настроек БД. А это опять приводит нас к конкретизированию типа...
Как правило, методика преобразования значений полей в запросе зависит от диалекта SQL.


Jao   (2003-03-12 12:39:00) [10]

ничего не изменилось :/


Соловьев   (2003-03-12 12:32:00) [11]


> cast(Year(bus.date) as varchar )

cast(Year(bus.date) as varchar(10))


Jao   (2003-03-12 12:31:00) [12]

ботва в том, что типа базы/sql server может быть любым, сейчас это Excell, а будет Oracle, Лотус и DB2

на select cast(Year(bus.date) as varchar) from bus выдаеться ошибка нехватки оператора :/


sniknik   (2003-03-12 10:49:00) [13]

не понимаю как можно чтото обсуждать не зная типа базы/sql server-а.


Соловьев   (2003-03-12 10:38:00) [14]

Может сделать приведение к строковому типу с помощью cast, а потом сделать конкатенацию строк с помощью ||?


Jao   (2003-03-12 10:36:00) [15]

SELECT Year(date,2) заработало, как SELECT Year(date), а вот на Year(date)+"-"+Month(date)- мультиплай степ операшион :-/


Delirium^.Tremens   (2003-03-12 10:14:00) [16]

Враги, враги, кругом враги...(с)
Восхождение к паранойе.
:-)


Johnmen   (2003-03-12 10:09:00) [17]

А у меня работает....:)))


Jao   (2003-03-12 10:07:00) [18]

неверное число аргументов функции в выражении запроса Year(bus.date1,2)+"-"+Month(bus.date1,2)+"-"+Day(bus.date1,2)
на select Year(bus.date1,2)+"-"+Month(bus.date1,2)+"-"+Day(bus.date1,2)from bus

все равно спасибо *это уже что-то* :)


Johnmen   (2003-03-12 09:58:00) [19]

SELECT Year(date,2)+"-"+Month(date,2)+"-"+Day(date,2) FROM...
;-)


Jao   (2003-03-12 09:58:00) [20]

неужели нет SQL-функций позволяющих задавать выходной формат даты? :-/


Страницы:   1 2

Наверх

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