Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение формата даты в MS SQL Server 2000 
V
    Опции темы
Lunatikus
Дата 30.7.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



Функция DATE_FORMAT не распознается почему-то =((
Для чего мне надо изменить формат даты в запросе?
Мне надо получить текущую дату в виде dd.mm.yyyy
Функция getdate() работает,однако,по ходу,выводит не в том офрмате,что нужен мне,Потому и надо узнать как уже точно определить формат даты в запросе
SELECT * FROM T WHERE T.data=getdate()

Да,тема уже была,даже мной написана.Однако там проблема решалась использованием делфи.Тут мне надо без параметров сделать в запросе изменение формата даты.

Это сообщение отредактировал(а) Lunatikus - 30.7.2007, 16:31


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
Lunatikus
Дата 30.7.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



Попробовал функцию CONVERT(DATETIME,getdate(),104).Все равно не так выдает формат,ибо условие data=CONVERT(DATETIME,getdate(),104) не впыолняется,однако в таблице,из которой делается выборка,есть 30.07.2007 и не одно


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
Marduk
Дата 31.7.2007, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 9.4.2007

Репутация: нет
Всего: 2



перед вызовом GetDate() пропиши
Код

SET DATEFORMAT dmy


Это сообщение отредактировал(а) Marduk - 31.7.2007, 10:04
PM MAIL ICQ   Вверх
Lunatikus
Дата 31.7.2007, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



Код

SET DATEFORMAT dmy;
SELECT * FROM T WHERE T.data=getdate()

запрос выполняется,но все равно getdate() возвращается не в формате dd.mm.yyyy.
в таблице есть даты:
28.07.2007
29.07.2007
30.07.2007
31.07.2007
Текущая 31.07.2007 получается.
Но не возвращает ни одной записи.
Что еще может быть не так?

Это сообщение отредактировал(а) Lunatikus - 31.7.2007, 10:21


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
DimW
Дата 31.7.2007, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



а getdate() возвращает только дату или время тоже?
ведь 31.07.2007 ни как не равно 31.07.2007 14:05:23 (как пример).
и вобще если у тебя поле с каторым ты сравниваешь типа date то пофиг в коком формате getdate() приходит всеравно должна найти...

вот так запрос возвращает данные?
Код

SELECT * FROM T WHERE T.data<getdate()



PM MAIL ICQ   Вверх
Lunatikus
Дата 31.7.2007, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



Потому я и хочу жестко установить офрмат,чтобы не было путаницы со временем.А вообще в базе типа data.

Да,выводит все строки,включая текущую дату.


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
DimW
Дата 31.7.2007, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Цитата(Lunatikus @  31.7.2007,  10:54 Найти цитируемый пост)
Да,выводит все строки,включая текущую дату. 


это жначит что getdate() возвращает не только дату но и время. неужели нет функции которая отсекает время от даты.
в оракле так trunc(sysdate), как в ms sql я не вкурсе.

Цитата(Lunatikus @  31.7.2007,  10:54 Найти цитируемый пост)
Потому я и хочу жестко установить офрмат

имхо неверной горогой идене, причем тут визуальный формат даты, дата это посути тип флоат, т.е. челая и дробная часть + разделитель, тебе не пофиг как она в бд хнанится... 
PM MAIL ICQ   Вверх
Lunatikus
Дата 31.7.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



Почему?Есть,но она не пашет =/ именно DATE_FORMAT(date,"dd.mm.yyyy") могла бы обеспечить то,что надо,однако MS SQL Server ругается на нее.А никаких других не могу найти.Есть также функции выборки из даты именно дня,месяца,года,сейчас попробую соединить их и приравнять к значению поля data в виде строки.


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
DimW
Дата 31.7.2007, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Цитата(Lunatikus @  31.7.2007,  12:21 Найти цитируемый пост)
Почему?Есть,но она не пашет =/ именно DATE_FORMAT(date,"dd.mm.yyyy") 


а функция эта что возвращает date или strins? если стринг то я не про нее.
ищи лучше должна быть...

PM MAIL ICQ   Вверх
Lunatikus
Дата 31.7.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



MS SQL работа с датами

это самый полный насчет дат ресурс из всех,что видел.И тут нет ничего,кроме этого пресловутого DATE_FORMAT.
А она возвращает data в выбранном формате.

Это сообщение отредактировал(а) Lunatikus - 31.7.2007, 12:43


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
DimW
Дата 31.7.2007, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Цитата(Lunatikus @  31.7.2007,  12:29 Найти цитируемый пост)
И тут нет ничего,кроме этого пресловутого DATE_FORMAT


есть еще extract, может она тебе поможет. а лучше спроси сдесь: http://forum.vingrad.ru/forum/MS_SQL_Server-database.html

PM MAIL ICQ   Вверх
Lunatikus
Дата 31.7.2007, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 1
Всего: 6



Во,только что наконец отрыл на просторах интернета один способ!Оказывается,в MS SQL в принципе нет дат без времени.Можно просто обнулить время.А делается это так:
CONVERT(DATETIME, FLOOR(CONVERT(float, GETDATE())))
ну это для текущей даты =)
спасибо за поддержку!вопрос решен


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
DimW
Дата 31.7.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 5
Всего: 44



Цитата(Lunatikus @  31.7.2007,  13:33 Найти цитируемый пост)
Оказывается,в MS SQL в принципе нет дат без времени.Можно просто обнулить время.


об этом и говорил:
Цитата(DimW @  31.7.2007,  11:23 Найти цитируемый пост)
это жначит что getdate() возвращает не только дату но и время. неужели нет функции которая отсекает время от даты.

smile

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0627 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.