1. 概述

RAWSQL 直通函数可用于将 SQL 表达式直接发送到数据库,而不由系统进行解析。如果您系统不能识别的自定义数据库函数,则可以使用直通函数调用这些自定义函数。

数据库通常不会理解在本产品中的字段名称。因为本产品不会解释包含在直通函数中的 SQL 表达式,所以在表达式中使用本产品中的字段名称可能会导致错误。可使用替换语法将用于本产品中计算的正确字段名称或表达式插入直通 SQL。

2. 示例

假设您有个计算一组日期和时间的函数,则可以对系统中列 [销售额] 调用该函数,如下所示:

RAWSQL_AGG_DATETIME("MIN(%1)",[发货时间])

3. 可用的数值函数

直通布尔


用途:从给定SQL表达式返回布尔结果,用%n替换SQL表达式中数据库值

语法:RAWSQL_BOOL(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_BOOL(“IF(%1>%2,True,False)”,[销售额],[利润])

  • %1等于[销售额],%2等于[l利润],表示若销售额大于利润时返回布尔结果True,否则为False

直通日期


用途:将表达式转化为字符串类型,从给定SQL表达式返回日期结果,用%n替换SQL表达式中数据库值

语法:RAWSQL_DATE(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_DATE(“%1”,[Order Date])

  • %1等于[Order Date]

直通日期时间


用途:从给定SQL表达式返回日期和时间结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_DATETIME(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_DATETIME(“MIN(%1)”,[Delivery Date])

  • %1等于[Delivery Date]

直通整数


用途:从给定SQL表达式返回整数结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_INT(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_INT(“500+%1”,[销售额])

  • %1等于[销售额]

直通小数


用途:从给定SQL表达式返回小数结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_FLOAT(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_FLOAT(“-123.98*%1”,[销售额])

  • %1等于[销售额]

直通字符串


用途:从给定SQL表达式返回字符串结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_STR(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_STR(“%1”,[消费者 姓名])

  • %1等于[消费者 姓名],%2等于[l利润]

直通聚合布尔


用途:从给定聚合SQL表达式返回布尔结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_AGG_BOOL(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_AGG_BOOL(“SUM(%1)>SUM(%2)”,[销售额],[利润])

  • %1等于[销售额],%2等于[l利润]

直通聚合日期


用途:从给定聚合SQL表达式返回日期结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_AGG_DATE(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_AGG_DATE(“MAX(%1)”,[Orader Date])

  • %1等于[Orader Date]

直通聚合日期时间


用途:从给定聚合SQL表达式返回日期和时间结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_AGG_DATETIME(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_AGG_DATETIME(“MIN(%1)”,[Delivery Date])

  • %1等于[Delivery Date]

直通聚合整数


用途:从给定聚合SQL表达式返回整数结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_AGG_INT(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_AGG_INT(“500+SUM(%1)”,[销售额])

  • %1等于[销售额]

直通聚合小数


用途:从给定聚合SQL表达式返回小数结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_AGG_FLOAT(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_AGG_FLOAT(“SUM(%1)”,[销售额])

  • %1等于[销售额]

直通聚合字符串


用途:从给定聚合SQL表达式返回字符串结果,SQL表达式直接传递给基础数据库,用%n替换SQL表达式中数据库值:[表达式n]

语法:RAWSQL_AGG_STR(“SQL表达式",[表达式1],[表达式2],...)

示例:RAWSQL_AGG_STR(“AVG(%1)”,[折扣])

  • %1等于[销售额]