Как мне отобразить текущую дату и время в Toad для Oracle?

#sql #oracle

#sql #Oracle

Вопрос:

У меня есть инструкция sql, которая подсчитывает блоки (кабельные коробки), которые были отремонтированы (заменены поврежденные детали), и общее количество блоков (кабельные коробки, которые только что прошли ремонт и ничего не было заменено), и предполагается, что этот подсчет выполняется регулярно (каждый раз, когда блок обрабатывает подсчет). Кто-нибудь, пожалуйста, может мне помочь? Спасибо.

Джастин

Вот мой sql-код на данный момент:

ВЫБЕРИТЕ COUNT(*) ИЗ cxadminn.repair_part
ГДЕ repair_type = ‘REFURB’ и created_date >?

Комментарии:

1. попробуйте … и created_date > :date Toad предложит вам ввести значение переменной bind, которое для дат будет иметь приятный календарь 🙂 Или найдите функцию to_date для Oracle (лучший подход 😉

Ответ №1:

 SELECT COUNT(*) 
FROM cxadminn.repair_part
WHERE repair_type = 'REFURB' 
  and created_date > sysdate
  

Чтобы исключить время, которое является частью любого столбца даты oracle, вам нужно будет использовать это:

 SELECT COUNT(*) 
FROM cxadminn.repair_part
WHERE repair_type = 'REFURB' 
  and trunc(created_date) > trunc(sysdate)
  

Комментарии:

1. Вы могли бы использовать and created_date >= trunc(sysdate) 1 , чтобы разрешить использование индекса на created_date , если такой индекс существует.

Ответ №2:

Я думаю, вам нужны текущие дата и время при выполнении запроса, что не совпадает с created_date, верно?

 select COUNT(*), 
to_char(sysdate, 'Dy DD-Mon-YYYY HH24:MI:SS') as "Current Time"
FROM cxadminn.repair_part
WHERE repair_type = 'REFURB'
  

Я удалил and created_date >? из предложения WHERE, потому что для меня это не имеет смысла, если только в вашей таблице не могут быть элементы, created_date которых находится в будущем.

Ответ №3:

 SELECT COUNT(*) FROM cxadminn.repair_part
WHERE repair_type = 'REFURB' and created_date > sysdate
  

или

 created_date > to_date('01.01.11 01:01:01', 'dd.mm.yyyy hh:mi:ss')