内置会话变量

Db2 提供了几个内置会话变量,其中包含服务器和应用程序进程的相关信息。 可以通过调用GETVARIABLE函数并指定内置会话变量的名称来获取该变量的值。

Db2 提供以下内置会话变量:
SYSIBM.APPLICATION_ENCODING_SCHEME
SYSIBM.APPLICATION_ENCODING_SCHEME 会话变量包含一个字符串,该字符串与DSNTIPF安装面板上的应用程序编码字段指定的值相对应。 取值为EBCDIC、ASCII、UNICODE或1-65533,且该会话变量不能为空。
SYSIBM.COBOL_STRING_DELIMITER
会话变量 SYSIBM.COBOL_STRING_DELIMITER 包含一个字符串,该字符串与DSNTIPF安装面板上的STRING DELIMITER字段指定的值相对应。 该值是DEFAULT、",或',且该会话变量不能为空。
SYSIBM.DATA_SHARING_GROUP_NAME
SYSIBM.DATA_SHARING_GROUP_NAME 会话变量包含一个字符串,该字符串与该 Db2 子系统的数据共享组名称相对应。 如果子系统不属于数据共享组,则返回空值。
SYSIBM.DATE_FORMAT
SYSIBM.DATE_FORMAT 会话变量包含一个字符串,该字符串与 DSNTIP4 安装面板上为日期格式字段指定的值相对应。 该值可以是ISO、JIS、USA、EUR或LOCAL,且该会话变量不能为空。
SYSIBM.DATE_LENGTH
SYSIBM.DATE_LENGTH 会话变量包含一个字符串,该字符串与 DSNTIP4 安装面板上LOCAL DATE LENGTH字段指定的值相对应。 值为10-254,0表示没有退出,此会话变量不能为空。
SYSIBM.DECIMAL_ARITHMETIC
会话变量包含一个字符串,该字符串与 DSNTIP4 安装面板上DECIMAL ARITHMETIC字段指定的值相对应。 值为 DEC15、 DEC31、15或31,且此会话变量不能为空。
SYSIBM.DECIMAL_POINT
会话变量包含一个字符串,该字符串与DSNTIPF安装面板上DECIMAL POINT IS字段的指定值相对应。 数值为“.” 或“,”,且此会话变量不能为空。
SYSIBM.DEFAULT_DECFLOAT_ROUND_MODE
SYSIBM.DEFAULT_DECFLOAT_ROUND_MODE 会话变量包含一个字符串,该字符串与DSNTIPF安装面板上DECFLOAT ROUNDING MODE字段指定的值相对应。 此会话变量不能为空。
SYSIBM.DEFAULT_SSID
SYSIBM.DEFAULT_SSID 会话变量包含一个字符串,该字符串与DSNTIPK安装面板上的GROUP ATTACH字段或DSNTIPM安装面板上的SUBSYSTEM NAME字段指定的值相对应。 此会话变量不能为空。
SYSIBM.DEFAULT_LANGUAGE
SYSIBM.DEFAULT_LANGUAGE 会话变量包含一个字符串,该字符串与DSNTIPF安装面板上LANGUAGE DEFAULT字段指定的值相对应。 其值为 ASM、C、CPP、IBMCOB、FORTRAN 或 PL/I ,并且该会话变量永远不能为空。
SYSIBM.DEFAULT_LOCALE_LC_CTYPE
SYSIBM.DEFAULT_LOCALE_LC_CTYPE 会话变量包含一个字符串,该字符串与DSNTIPF安装面板上LOCALE LC_CTYPE字段指定的值相对应。 此会话变量不能为空。
SYSIBM.DISTRIBUTED_SQL_STRING_DELIMITER
SYSIBM.DISTRIBUTED_SQL_STRING_DELIMITER 会话变量包含一个字符串,该字符串与DSNTIPF安装面板上DIST SQL STR DELIMTR字段的指定值相对应。 值是“或‘,此会话变量不能为空。
SYSIBM.DSNHDECP_NAME
SYSIBM.DSNHDECP_NAME 会话变量包含一个字符串,该字符串与加载DSNHDECP或用户指定应用程序默认模块的数据集的完全限定数据集名称相对应。 例如,' DSN910.SDSNEXIT(DSNHDECP ')。 此会话变量不能为空。
SYSIBM.DYNAMIC_RULES
SYSIBM.DYNAMIC_RULES 会话变量包含一个字符串,该字符串与 DSNTIP4 安装面板上为USE FOR DYNAMICRULES字段指定的值相对应。 取值为“是”或“否”,且此会话变量不能为空。
SYSIBM.ENCODING_SCHEME
SYSIBM.ENCODING_SCHEME 会话变量包含一个字符串,该字符串与DSNTIPF安装面板上DEF ENCODING SCHEME字段指定的值相对应。 取值为EBCDIC、ASCII或UNICODE,且此会话变量不能为空。
SYSIBM.MIXED_DATA
SYSIBM.MIXED_DATA 会话变量包含一个字符串,该字符串与DSNTIPF安装面板上为MIXED DATA字段指定的值相对应。 取值为“是”或“否”,且此会话变量不能为空。
SYSIBM.NEWFUN
SYSIBM.NEWFUN 会话变量包含一个字符串,表示 Db2 预编译器或 Db2 协处理器接受的SQL函数语法的默认最大级别,与 Db2 函数级别无关。 有关NEWFUN选项的更多信息,请参阅 SQL处理选项说明
SYSIBM.PACKAGE_NAME
SYSIBM.PACKAGE_NAME 会话变量包含一个字符串,与当前正在执行的软件包名称相对应。 如果当前未执行任何程序包,则返回空值。 (当正在执行的计划直接绑定了一个或多个DBRM时,可能会出现这种情况)。
SYSIBM.PACKAGE_SCHEMA
SYSIBM.PACKAGE_SCHEMA 会话变量包含一个字符串,该字符串与当前正在执行的软件包的集合ID相对应。 如果当前未执行任何程序包,则返回空值。
SYSIBM.PACKAGE_VERSION
SYSIBM.PACKAGE_VERSION 会话变量包含一个字符串,与当前正在执行的软件包版本相对应。 如果当前未执行任何程序包,则返回空值。
SYSIBM.PAD_NUL_TERMINATED
SYSIBM.PAD_NUL_TERMINATED 会话变量包含一个字符串,该字符串与 DSNTIP4 安装面板上PAD NUL-TERMINATED字段指定的值相对应。 取值为“是”或“否”,且此会话变量不能为空。
SYSIBM.PLAN_NAME
SYSIBM.PLAN_NAME 会话变量包含一个字符串,与当前正在执行的计划名称相对应。 此会话变量不能为空。
SYSIBM.SECLABEL
如果当前用户ID定义了 RACF® SECLABEL值,则 SYSIBM.SECLABEL 会话变量包含一个与该值对应的字符串。 如果未定义值,则返回空值。
SYSIBM.SQL_STRING_DELIMITER
SYSIBM.SQL_STRING_DELIMITER 会话变量包含一个字符串,该字符串与DSNTIPF安装面板上SQL STRING DELIMITER字段指定的值相对应。 该值是DEFAULT、",或',且该会话变量不能为空。
SYSIBM.SSID
SYSIBM.SSID 会话变量包含一个字符串,该字符串与该 Db2 子系统的实际 Db2 子系统标识符相对应。 此会话变量不能为空。
SYSIBM.STANDARD_SQL
SYSIBM.STANDARD_SQL 会话变量包含一个字符串,该字符串与 DSNTIP4 安装面板上为STD SQL LANGUAGE字段指定的值相对应。 取值为“是”或“否”,且此会话变量不能为空。
SYSIBM.SYSTEM_NAME
SYSIBM.SYSTEM_NAME 会话变量包含一个与 Db2 for z/OS® 子系统名称对应的字符串,该名称在安装面板DSNTIPM的子系统名称字段中定义。 此会话变量不能为空。
SYSIBM.SYSTEM_ASCII_CCSID
SYSIBM.SYSTEM_ASCII_CCSID 会话变量包含一个值,表示此系统上正在使用的ASCII CCSID。 信息以逗号分隔字符串的形式返回,与安装面板 DSNTIPF 上指定的 ASCII CCSID 相对应。 返回的三个值分别对应于SBCS、MIXED和图形CCSID,它们用于处理此系统上的ASCII数据。 MIXED或图形CCSID的值为65534,表示此系统不支持以该CCSID存储数据。 此会话变量不能为空。
SYSIBM.SYSTEM_EBCDIC_CCSID
SYSIBM.SYSTEM_EBCDIC_CCSID 会话变量包含一个值,表示此系统上正在使用的EBCDIC CCSID。 信息以逗号分隔字符串的形式返回,与安装面板 DSNTIPF 上指定的 EBCDIC CCSID 相对应。 返回的三个值分别对应于SBCS、MIXED和图形CCSID,它们用于处理此系统上的EBCDIC数据。 MIXED或图形CCSID的值为65534,表示此系统不支持以该CCSID存储数据。 此会话变量不能为空。
SYSIBM.SYSTEM_UNICODE_CCSID
SYSIBM.SYSTEM_UNICODE_CCSID 会话变量包含一个值,表示此系统上正在使用的Unicode CCSID。 信息以逗号分隔的字符串形式返回,与安装面板 DSNTIPF 上指定的 UNICODE CCSID 相对应。 返回的三个值分别对应于SBCS、MIXED和图形CCSID,它们用于此系统上的Unicode数据。 此会话变量不能为空。
SYSIBM.TIME_FORMAT
SYSIBM.TIME_FORMAT 会话变量包含一个字符串,该字符串与 DSNTIP4 安装面板上TIME FORMAT字段指定的值相对应。 该值可以是ISO、JIS、USA、EUR或LOCAL,且该会话变量不能为空。
SYSIBM.TIME_LENGTH
SYSIBM.TIME_LENGTH 会话变量包含一个字符串,该字符串与 DSNTIP4 安装面板上“本地时间长度”字段指定的值相对应。 值为8-254或0(无退出),此会话变量不能为空。
SYSIBM.VERSION
SYSIBM.VERSION 会话变量包含一个字符串,表示 Db2 的版本。
产品标识符(PRDID)值是一个8字节字符值,采用 pppvvrrm格式 ,其中: ppp 是3个字母的产品代码; vv 是版本;rr 是发行版; m 是修改级别。 Db2 12 for z/OS 中,修改级别表示一系列功能级别:
  • DSN12015适用于 V12R1M500 或更高版本。
  • DSN12010致 V12R1M100。
更改开始更多信息,请参阅 Db2 for z/OS 中的产品标识符 (PRDID) 值更改结束

此会话变量不能为空。

GETVARIABLE调用示例

例如,以下语句将宿主变量的值 hv1 为当前正在执行的计划名称:
   SET :hv1 = GETVARIABLE('SYSIBM.PLAN_NAME'); 

有关GETVARIABLE函数的更多信息,请参阅 GETVARIABLE标量函数