Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2017, 06:52   #21
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ты не читаешь что тебе советуют. Выше в двух постах по этому поводу уже говорилось
Аватар, меня не устраивает, что дата и время вместе были. Мне нужно накладывать фильтр и по времени тоже. Какая разница, правильно это или нет, это не мне, а заказчику надо.
Сейчас дата хранится отдельно, время тоже. У меня один вопрос главный: почему время с 8-ми часовой разницей заносится? Или, если можно, в запросе прямо прибавить число 8 к полученному времени, то ок, вопросов нет.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.06.2017, 07:06   #22
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Все равно не читаешь)) Потому что используешь GetutcDate() вместо GetDate()
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.06.2017, 07:10   #23
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Потому что используешь GetutcDate() вместо GetDate()
Да все равно с разницей в 8 часов! Что та, что другая функция дает один результат.
Я пробовал еще отсюда https://docs.microsoft.com/ru-ru/sql...t-transact-sql сделать, но, результаты такие же про разницу во времени.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 21.06.2017 в 07:12.
artemavd вне форума Ответить с цитированием
Старый 21.06.2017, 07:49   #24
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А часовой пояс пояс в настройках даты и времени ОС установлен? Что возвращает такой запрос:
Код:
select getdate(),getutcdate()
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 21.06.2017 в 07:53.
Аватар вне форума Ответить с цитированием
Старый 21.06.2017, 08:48   #25
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Что возвращает такой запрос:
Такой запрос, оба, возвращают дату и время с разницей в 8 часов.
У меня тут такая идея появилась.
Что если сделать так?
1. Получаем текущее время;
2. Берем первые 2 символа до первого ":" во времени;
3. Переводим эти 2 символа в число;
4. Добавляем к нему 8;
5. Переводим полученный результат в строку обратно.

Сработает так обмануть и занести правильное время?

То есть, имею ввиду так. Попробовал применить свой ход вот так.
Сначала сделал простой селект в уже имеющимся временем в базе данных:
Код:
select cast(cast(left([TimePole],2) as int) + 8 as char(20))
О, да, мне выдалось то, что описано в моем алгоритме после прибавления 8 к полученным двум символам из моего времени.
Потом я попробовал заменить [TimePole] на то, что получает время при добавлении записи, т.е. вот так:
Код:
select cast(cast(left(convert(char20), getdate()),2) as int) + 8 as char(20))
Но при отработке ХП на клиенте выдается ошибка:
Код:
Conversion failed when converting the varchar value 'Ju' to data type
При этом у меня поле [TimePole] имело тип datetime.
Следовательно я решил поменять его тип на varchar(15)
И повторилась та же ошибка про конвертацию...
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 21.06.2017 в 09:09.
artemavd вне форума Ответить с цитированием
Старый 21.06.2017, 09:03   #26
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Такой запрос, оба, возвращают дату и время с разницей в 8 часов
Это не правильно. Нужно смотреть в какой зоне находится сервер в настройках даты-времени винды. У тебя должно быть GMT+8
Цитата:
У меня тут такая идея появилась
5-ое колесо под телегой для проблем в последствии ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.06.2017, 09:11   #27
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Это не правильно. Нужно смотреть в какой зоне находится сервер в настройках даты-времени винды. У тебя должно быть GMT+85-ое колесо под телегой для проблем в последствии ))
Сервер находится в Восточной Азии :D
Цитата:
Сообщение от Аватар Посмотреть сообщение
5-ое колесо под телегой для проблем в последствии
Ну, я ищу разные пути решения)))
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров в хранимую процедуру в MS SQL artemavd БД в Delphi 5 08.06.2017 06:49
sql форматирование времени/даты conflictogen PHP 3 22.09.2015 12:52
Не могу переделать хранимую процедуру Zicise Общие вопросы .NET 1 06.11.2014 18:09
Добавление пользователя через хранимую процедуру Muramidaza БД в Delphi 2 18.03.2014 22:41
добавление через хранимую процедуру пауэрлифтинг БД в Delphi 2 27.05.2010 16:21