我正在使用 Oracle SQL Developer:ODMiner 进行文本挖掘。我将数据“WEBLOG”导入到表中。这个博客数据包括用户活动、日期、时间、url 等。我采取的第一步是使用将数据表中的日期和时间转换为表示自 1990 年 1 月 1 日以来 40 分钟的数字的函数。我通过将其除以 2400(40 分钟内的秒数)来做到这一点。主要目的是为会议制定一个时间框架。我使用了以下代码,
CREATE OR REPLACE FUNCTION ssnDate(
DATE IN VARCHAR2 DEFAULT 03-01-18,
TIME IN VARCHAR2
) RETURN NUMBER
AS
BEGIN
RETURN TRUNC((to_date(DATE||' '||TIME, 'DD-MM-YY HH:MM:SS')- to_date('01-JAN- 1990','DD-MON-YYYY')) * (86400/2400);
END ssnDate;
这是运行语句后出现在日志中的内容,
FUNCTION ssnDate compiled
Warning: execution completed with warning
在此之后,我尝试创建一个 VIEW 以使用之前创建的 ssnDate 转换 DATE 和 TIME,并连接 CS_URI_STEM(这是访问的资源)和 CS_URI_QUERY(这是查询,如果有的话,客户端正在尝试执行)进入一个名为 WEB_LINK 的新字段。
这是使用的代码,
CREATE OR REPLACE VIEW WEBLOG_VIEWS("C_IP", "WEB_LINK", "CS_USER_AGENT", "SESSION")
AS
SELECT ssnDate(LOG_DATE, LOG_TIME) AS 'SESSION',
C_IP,
CS_USER_AGENT,
(CS_URI_STEM||'?'||CS_URI_QUERY) AS WEB_LINK
FROM WEBLOG;
现在从这里我得到以下错误..
Error starting at line 1 in command:
CREATE OR REPLACE VIEW WEBLOG_VIEWS("C_IP", "WEB_LINK", "CS_USER_AGENT", "SESSION")
AS
SELECT ssnDate(LOG_DATE, LOG_TIME) AS 'SESSION',
C_IP,
CS_USER_AGENT,
(CS_URI_STEM||'?'||CS_URI_QUERY) AS WEB_LINK
FROM WEBLOG
Error at Command Line:3 Column:38
Error report:
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 - "FROM keyword not found where expected"
*Cause:
*Action:
我不知道我哪里出了问题。这是数据准备阶段,需要我在应用建模技术或算法之前准备数据。下一步是根据会话时间对数据进行分组, ip 和每个会话的用户代理以及用户在该会话中访问的 web_links 字段。
对于我出错的地方或任何类型的解决方案,我真的很感激!