2016-08-24 6 views
0

Я много работал с локальным phpmyadmin, и теперь я могу проверить свои функциональные возможности кода с большим количеством данных из базы данных оракула, о которой я никогда не сталкивался раньше. Поэтому я хочу знать, как я могу получить только строки сегодняшнего дня. или сравнить его любым другим способом, если вы можете подумать об одном или двух. вот то, что я пробовал до сих пор в соответствии с тем, что я читал по вопросам SO, но, похоже, не очень помогает.Получить сегодняшние строки из базы данных oracle

 $sql1 = "SELECT a.*, ROWNUM rnum FROM (
      SELECT alert_time AS qen, count(*) AS Total FROM alert 
      GROUP BY alert_time 
    ) a WHERE TRUNC(sysdate) = TRUNC(TO_TIMESTAMP(alert_time)))"; 

Столбец alert_time возвращает что-то вроде «Ср авг 24 12:11:05 2016»

Единственное, что я хочу сделать здесь, чтобы извлечь все строки из таблицы alerts, которая была добавлена только сегодня, так что запрос будет выполняться быстрее, не говоря уже о том, чтобы дать мне то, что я хочу.

Благодарим за помощь!

+0

Я удалил тег MySQL, потому что вы явно упоминаете Oracle. –

+0

Каков тип данных столбца alert_time? – XING

+0

В настоящее время у меня нет доступа, чтобы знать, но, скорее всего, это 'Date'. я могу сказать из своей строки '22-AUG-16 04.17.29.000000 AM' правильно? или дайте мне знать, как в любом случае можно распечатать тип данных? – King

ответ

0

Я бы ожидать что-то вроде этого:

SELECT a.* 
FROM alert 
WHERE alert_time >= TRUNC(sysdate); 

Если есть будущие предупреждения:

SELECT a.* 
FROM alert 
WHERE alert_time >= TRUNC(sysdate) AND alert_time < TRUNC(sysdate + 1); 

Вам нужно только TO_TIMESTAMP() если alert_time в настоящее время хранится в виде символа. Вам нужно только rownum, если вы хотите добавить столбцы перечисления в вывод.

+0

Я просто попробовал 'SELECT * FROM alert WHERE TO_TIMESTAMP (alert_time)> = TRUNC (sysdate) И TO_TIMESTAMP (alert_time) King

+0

@King. , , Как я упоминаю в ответе, для меня непонятно, почему для этой цели вы используете 'TO_TIMESTAMP()'. Если 'alert_time' (по какой-то необоснованной причине) хранится как строка, то' TO_TIMESTAMP() 'должен иметь строку формата в качестве второго аргумента. –

Смежные вопросы