知识库 : 语义模型_预置函数列表

Edit Document

语义模型 _ 预置函数

by 边传猛

语义函数

函数名称

参数

功能

smart ( code )

code : 语义模型编码

根据语义模型的编码获取到此模型的查询结果

parameter ( paramCode )

paramCode : 参数编码

根据参数编码,获取参数值

macro ( macroCode )

macrocode : 宏变量编码

根据宏变量编码,获取参数值

nc_metadata ( entity path, attributePaths )

e ntity path : 实体全路径名 attributePaths : 属性路径列表

根据实体路径和属性路径列表获取对应的 SQL

meta ( id )

id : 元定义 GUID

返回该元定义加载数据的 sql 语句

Multicolumn (column)

C olumn: 字段表达式

根据当前语种返回相应的多语字段。语法: multicolumn( 表别名 . 字段名 ) 或  multicolumn( 字段名 )

Sql ( sql )

S ql: 入参为标准 sql 语句

sql(' ') 函数,入参为标准 sql 语句,返回该 sql 语句。

注意:入参使用单引号 ' 引起;如果标准 sql 中有单引,必须替换为两个单引,即: ' 替换为 ''

另: sql 中支持使用参数、宏变量。

freedef( column )

C olumn: 字段表达式

自定义项函数 将自定义项转档案名称 语法: freedef ( 表别名 . 字段名 )

ncmdenum( column , 枚举类型 ID)

C olumn: 字段表达式

枚举类型 ID : NC 元数据组件中定义的 枚举类型 ID

元数据枚举属性函数 根据枚举属性的 显示名

timeoffset( timeExp )

timeExp: 时间类型字段 或 时间戳常量值

时区偏移函数 对时间类型数据进行时区差异处理

multicolumn( column )

C olumn: 字段表达式

多语字段函数 根据当前语种返回相应的多语字段

其他函数

在使用下面三类函数时,要注意其函数参数的类型以及格式。

类别

函数名称

参数

功能

举例

字符函数

concat ( arg1 , args2 )

arg 1: 拼接字段 1 arg2: 拼接字段 2 arg 1,arg2 必须是字符类型。

拼接 arg1,arg2

c oncat( name,code)

indexof ( arg1 , arg2 , arg3 )

arg1: 被索引字段; arg2: 索引子串; arg3: 索引起始位置。 arg1, arg2 为字符类型, arg2 为数字。

从第 arg3 的位置起,返回字段 arg1 中子串 arg2 第一次出现的位置。

I ndexof(name, abc ,1)

注意:这里从 1 开始

length ( arg1 )

arg1: 被求长字段。

获取字段 arg1 的长度

length (name)

nvl ( arg1,arg2 )

arg1: 被判空字段; arg2: 替换值

判断 arg1 value 是否为 null ,如果是,则替换为 arg2

 

substr ( arg1 , arg2 , arg3 )

arg1: 被截取字段; arg2: 起始位置; arg3: 截取长度。 arg 2,arg3 为整数型

截取 arg1, arg2 开始截取 arg3 长度的子字符串 arg2 取值从 1 开始

sub str(field,1,2)

tostring ( arg )

arg: 被转换字段

使 arg 转换为字符串类型。

 

日期函数

date ()

 

获取当前系统时间日期

 

datediff ( unit , date1 , date2 )

unit: 时间单位; date1: 日期 1,date2: 日期 2 。其中 date1,date2 为字符串型,例如 20100101 , 2010-01-01

根据指定的时间单位 ( - yy , -'mm', -'dd',) ,计算两日期之间某部分的差值 (date2-date1)

datadiff ( mm ,substr(toString(field1),0,10), substr(toString(field2),0,10))

datefmt ( date , pattern )

date: 日期格式的字符型字段,例如 20100101 , 2010-01-01 pattern: 格式化类型

用于将时间格式化为期望的字符串 , 其中 pattern 为格式化参数 ,yyyy- ,MM- ,dd- 天。支持的格式类型有: yyyy-mm-dd, mm/dd/yyyy, yyyymmdd, dd.mm.yyyy

substr(datefmt(20100101,'yyyy-mm-dd'),0,10) 结果为 2010-01-01

todate ( arg )

arg: 被转换字符串 , 例如 20100101 , 2010-01-01

转换字符串为统一日期类型

todate( 20081001 )

dateAdd(fieldchar, num, date)

fieldchar :时间单位

num :增加的数值

date :日期

返回在指定日期的年、月或者日上增加某个值 num, 可增加的时间域 fieldchar 包括 'yy'- 增加年 ;'mm'- 增加月 ;'dd'- 增加日 .

dateAdd('dd',1,todate('2010-03-10')) 表示对前面的日期增加一天

数学函数

ceil ( arg )

arg 被求值字段

返回大于或等于 arg 的最小整数

 

max ( arg )

同上

获取 arg 字段中的最大值

 

min ( arg )

同上

获取 arg 字段中的最小值

 

round ( arg1,arg2 )

arg1 被求值字段; arg2 舍入位

arg1 字段值的第 arg 位执行四舍五入

 

avg(arg)

arg : 数值类型字段,或 数值

获取参数 (arg) 字段的平均值 , 其中参数为数值类型。

 

int(arg1)

arg1: 整数的字符形式 或 浮点数

转整形函数

 

mod(arg1,arg2)

arg1 被除数 ,arg2 除数

求余运算函数

 

sum(arg)

arg: 数值型字段 或 数值

获取参数 (arg) 字段的合计值 , 其中参数为数值类型

 

 

Attachments:

语义模型_预置函数列表.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)