【发布时间】:2019-08-17 00:54:49
【问题描述】:
当我使用 JOOQ 生成我的原始 SQL 时,我看到了一个奇怪的行为。
CAST(addi.addke AS VARCHAR(10))||CAST(tlcst.tdsk AS
VARCHAR(10))||date_format(DATE (rol.ntbd), '%Y%m%d')||replace(adft.ati,':','') SPOT_ID,
我为上述 SQL 创建了一个 JOOQ 脚本
concat((field("addi.addke").cast(SQLDataType.VARCHAR(10))),
(field("tlcst.tdsk").cast(SQLDataType.VARCHAR(10))),
(dateFormat(field("rol.ntbd"), "%Y%m%d")),
(replace(field("adft.ati", String.class), ":", ""))).as(field("SPOT_ID")))
它生成如下 SQL,在替换函数上有 ? 符号。
(
cast(addi.addke as varchar(10)) || cast(tlcst.tdsk as varchar(10)) || date_format(rol.ntbd, '%Y%m%d') || replace(adft.ati, ?, ?)) as "SPOT_ID"
我怎么不能在替换功能中获得那些? 标记?
谢谢
【问题讨论】: