我创建了一个名为CREATED_DATE的列,该列将时间戳转换为日期和时间,结果为:
11/14/2018 19:28:56
当我尝试使用-AND CREATED_DATE = TRUNC(SYSDATE)过滤WHERE子句中的查询时
我收到“ 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%'
答案 0 :(得分:0)
使用<uc:RadioUC Title="Is it YES" IsYes="{Binding IsLocalYes, Mode=TwoWay}"/>
而不是将日期与时间戳连接起来,将其从一种类型转换为另一种类型,如where子句中正确指出错误为无效标识符。
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
答案 1 :(得分:0)
您需要重复该表达式。想必您想要:
TRUNC(DATE '1899-12-30' + WRITETIMESTAMP, 'DAY') = TRUNC(sysdate, 'DAY')