标签: match-recognize

什么是逃脱的正确方法?使用Oracle 12c MATCH_RECOGNIZE时,JDBC PreparedStatement中的字符?

以下查询在Oracle 12c中是正确的:

SELECT *
FROM dual
MATCH_RECOGNIZE (
  MEASURES a.dummy AS dummy
  PATTERN (a?)
  DEFINE a AS (1 = 1)
)
Run Code Online (Sandbox Code Playgroud)

但它不能通过JDBC工作,因为?用作正则表达式字符的字符,而不是绑定变量.

什么是逃避?通过JDBC 的正确方法,假设我想将其作为PreparedStatement绑定变量运行?

注意:

java oracle jdbc match-recognize

6
推荐指数
1
解决办法
502
查看次数

MATCH_RECOGNIZE 与 Snowflake 中的 CTE

MATCH_RECOGNIZE我在带有一些 CTE 的查询中使用函数。当我运行查询时,出现以下错误:

SQL 编译错误:在此上下文中不支持 MATCH_RECOGNIZE。

在我的查询中,MATCH_RECOGNIZE 之前和之后有几个 CTE,部分如下。

WITH cte1 AS (
SELECT *
FROM dataset
WHERE ID IS NOT NULL AND STATUS IS NOT NULL ),

cte2 AS (
SELECT *
FROM cte1
QUALIFY FIRST_VALUE(STATUS) OVER (PARTITION BY ID ORDER BY CREATED_AT) = 'created' )

mr as (
SELECT *
    FROM cte2
    MATCH_RECOGNIZE (
      PARTITION BY ID
      ORDER BY CREATED_AT
      MEASURES MATCH_NUMBER() AS mn,
               MATCH_SEQUENCE_NUMBER AS msn
      ALL ROWS PER MATCH
      PATTERN (c+m+)
      DEFINE
         c AS status='created' …
Run Code Online (Sandbox Code Playgroud)

sql common-table-expression sql-view snowflake-cloud-data-platform match-recognize

1
推荐指数
1
解决办法
554
查看次数