最终用户格式

最终用户格式是数据值作为文字字符串或字符变量显示或输入在客户机应用程序中使用的格式。

最终用户格式可用于数据库中的格式与用户习惯的格式不同的数据类型。数据库服务器将 DATE、DATETIME、MONEY 和数字数据类型的数据以压缩内部格式存储在数据库内。

例如:数据库服务器将 DATE 值存储为自 1899 年 12 月 31 日以来的整数天数,因此日期 03/19/9635142。这种内部格式不直观。

GBase 8s 产品支持最终用户格式,因此客户机应用程序可以使用这种更直观的形式而不是内部格式。文字串或字符变量可以显示在 SQL 语句中作为列值或 SQL API 库函数的自变量。

在以下上下文中,GBase 8s 产品遇到字符串(文字字符串或字符变量中的值)时会使用最终用户格式:
  • GBase 8s 产品读取字符串时,它使用最终用户格式来确定如何解释字符串以便可将其转换为数字值。
    例如:假设 DB-Access 将缺省值(美国英语)作为其客户机语言环境。以下 INSERT 语句中的文字日期使用缺省语言环境定义的用于日期的最终用户格式:
    INSERT INTO mytab ( date1 ) VALUES ( '03/19/96' )
    

    在从客户机应用程序中接收数据时,数据库服务器使用最终用户格式来解释此文字日期,以便将其转换为相应的内部格式 (35142)。

  • GBase 8s 产品打印字符串时,它使用最终用户格式来确定如何将数字值格式化为字符串。

    例如:假设 GBase 8s ESQL/C 客户机应用程序将法语语言环境作为其客户机语言环境,并且此语言环境定义将日期格式化为 dd/mm/yy 的日期最终用户格式。以下 rdatestr() 函数使用日期的最终用户格式来获取 datestr 字符变量中的值:

    err = rdatestr(jdate, datestr);
    

    在将值放在 datestr 变量中之前,rdatestr() 函数使用最终用户格式来确定如何将内部格式 (35142) 格式化为日期字符串。有关 GLS 功能对 SQL API 库函数的影响的更多信息,请参阅增强的 ESQL/C 库函数

GLS 语言环境为以下类型的数据定义最终用户格式:
  • 货币记数法和数字格式的表示法
  • 日期和时间值的表示法
您可以使用特定于给定国家或地区或者文化的最终用户格式来指定数字、货币、日期和时间值。
重要: 日期、时间、数字和货币值的最终用户格式不影响数据库中相应数据类型的内部格式。它们只影响客户机应用程序显示数据和解释数据项的方式。
下表列示了为使用最终用户格式的每个数据类型定义最终用户格式的值。有关这些环境变量的信息,请参阅 GLS 环境变量。有关语言环境类别的信息,请参阅管理 GLS 文件
数据类型 环境变量 语言环境类别
DATE GL_DATE TIME
DATETIME

INTERVAL

GL_DATE

GL_DATETIME

TIME
MONEY DBMONEY MONETARY
数字(DEC、DECIMAL、DOUBLE PRECISION、FLOAT、INT、INT8、 INTEGER、UMERIC、REAL、 SMALLFLOAT 和 SMALLINT) NUMERIC