Фильтрация с использованием нового столбца, созданного в запросе - PullRequest
0 голосов
/ 09 декабря 2018

Я создал столбец с именем CREATED_DATE, который преобразует метку времени в дату и время с результатами:

11/14/2018 19: 28: 56

, когда я пытаюсь отфильтроватьзапрос в предложении WHERE, используя- И CREATED_DATE = TRUNC (SYSDATE)

Я получаю "ORA-00904:" CREATED_DATE ": неверный идентификатор"

Как я могу решить эту проблему?

SELECT
            DATE '1899-12-30' + WRITETIMESTAMP AS CREATED_DATE,
            ID,
            USERTYPEID,
            PROFILEID,
            NAME,
            ADDRESS1,
            ADDRESS2,
            CITY,
            COUNTY,
            STATE,
            ZIP,
            COUNTRY,
            LATITUDE,
            LONGITUDE,

            COMMENT1,
            COMMENT2,
            ROUTEGROUPID ||','|| ROUTEID AS RouteSegment
FROM 
JOIN PEETM_FM_I.ROUTEACTIVITY R ON L.ID = R.LOCATIONID
WHERE ID LIKE '01%' OR ID LIKE '07%'

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

Вам нужно повторить выражение.Предположительно, вы хотите:

TRUNC(DATE '1899-12-30' + WRITETIMESTAMP, 'DAY') = TRUNC(sysdate, 'DAY')
0 голосов
/ 09 декабря 2018

Используйте TO_DATE вместо того, чтобы объединить дату с отметкой времени, чтобы перевести ее из одного типа в другой, как в случае, когда в предложении правильно указана ошибка как неверный идентификатор.

   SELECT TO_DATE(date_column,'YYYY-MM-DD 
   HH:MM:SS') FROM TABLE ......

Это будет считывать данные в формате какили если вы хотите показать данные как Использовать TO_CHAR

   SELECT TO_CHAR(date_column,'YYYY-MM-DD 
   HH:MM:SS') FROM TABLE .......

или интересный TO_TIMESTAMP наиболее эффективный для отметки времени даты

  SELECT TO_TIMESTAMP(date_column,'YYYY-MM-DD 
   HH:MM:SS') FROM TABLE .......
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...