我正在使用jOOQ生成PlainSQL查询,大多数遵循ANSI SQL的规范。
如果我处理的是一个需要解析以验证其是否正确的SQL语句字段(我使用
以字段
DSL.using(SQLDialect.DEFAULT).parser().parseField(sqlString)
),但是从该字段生成的SQL应该使用平台本地的语法和关键字,该怎么办?以字段
TO_HEX(SHA256(CAST(userId AS string)))
为例(注意,我已将DSLContext
设置为忽略未知函数)。
当使用parseField
解析并检查生成的SQL时,它会转换为to_hex(SHA256(cast(userId as varchar)))
。然而,目标平台不支持varchar
。是否有任何选项可以指定如何呈现类似于此的转换?我已经查阅了文档,但似乎找不到如何覆盖特定关键字/定义自己的方言的方法。