注册

SQL语句group By 报错 参数异常?

wilson 2021/05/28 1239 4

问题描述:
业务需求需要判断数据库中的某列数据精度,最外层带上where E.LEN < 3后就会报错: 参数异常!

问题:是不是DM数据库有问题,还是我语法写错了?

SQL语句:
SELECT
*
FROM
(
SELECT
C.,
length(
REPLACE (
REPLACE (
LEFT (
cast(C.EXEC_TIME AS varchar2),
position(
‘E’,
cast(C.EXEC_TIME AS varchar2)
) - 1
),
‘-’
),
‘.’
)
) AS LEN
FROM
(
SELECT
*
FROM
(
SELECT
POS.POSI,
AI.

FROM
SJSYTS.ALARM_INFO AS AI
LEFT JOIN (
SELECT
ALARM_ID,
position(
‘E’,
cast(EXEC_TIME AS varchar2)
) AS POSI
FROM
SJSYTS.ALARM_INFO
) POS ON AI.ALARM_ID = POS.ALARM_ID
) B
WHERE
B.POSI > 0
) C
)E where E.LEN < 3;

表SJSYTS.ALARM_INFO定义:

CREATE TABLE “SJSYTS”.“ALARM_INFO”
(
“ALARM_ID” BIGINT IDENTITY(1, 1) NOT NULL,
“ALARM_NAME” VARCHAR(255),
“RULE_ID” BIGINT NOT NULL,
“CONTENT” TEXT,
“TASK_STATUS” SMALLINT,
“CREATE_TIME” TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP,
“DEL_FLAG” SMALLINT DEFAULT 0,
“TASK_MSG” VARCHAR2(50),
“TRIGGER_TYPE” SMALLINT,
“IS_VIEWED” SMALLINT DEFAULT 0,
“EXEC_TIME” BIGINT,
“ERR_COUNT” INTEGER,
“FIRE_TIME” TIMESTAMP(6),
“COMPLETE_TIME” TIMESTAMP(6),
“RULE_TYPE” VARCHAR2(50),
NOT CLUSTER PRIMARY KEY(“ALARM_ID”)) STORAGE(ON “MAIN”, CLUSTERBTR) ;

COMMENT ON TABLE “SJSYTS”.“ALARM_INFO” IS ‘质量检测告警表’;
COMMENT ON COLUMN “SJSYTS”.“ALARM_INFO”.“ALARM_ID” IS ‘告警id’;
COMMENT ON COLUMN “SJSYTS”.“ALARM_INFO”.“ALARM_NAME” IS ‘告警名称’;
COMMENT ON COLUMN “SJSYTS”.“ALARM_INFO”.“ERR_COUNT” IS ‘错误总数’;
COMMENT ON COLUMN “SJSYTS”.“ALARM_INFO”.“EXEC_TIME” IS ‘执行毫秒数’;
COMMENT ON COLUMN “SJSYTS”.“ALARM_INFO”.“RULE_ID” IS ‘检测规则id’;
COMMENT ON COLUMN “SJSYTS”.“ALARM_INFO”.“TASK_STATUS” IS ‘告警信息的状态: 0:未读 1:已读’;

CREATE UNIQUE INDEX “INDEX24038810589005” ON “SJSYTS”.“ALARM_INFO”(“ALARM_ID” ASC) STORAGE(ON “MAIN”, CLUSTERBTR) ;

回答 0
暂无回答
扫一扫
联系客服