暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8s SQL 指南:参考-34

董绍毅 2022-05-31
262

4.5.8 DBDATE 环境变量
使用 DBDATE 环境变量可以指定 DATE 值的最终用户格式。
在使用 C shell 的 UNIX™ 系统上,使用以下语法设置 DBDATE。


下列格式化符号在 DBDATE 设置中有效:

- . /
是在日期格式中可作为分隔符存在的字符。
0
指示时间单位之间不显示任何分隔符。
D 和 M
是表示日和月的字符。
Y2 和 Y4
是表示年份和年份精度的字符。
一些东亚语言环境支持基于纪元的日期的附加语法。有关基于纪元的格式的详细信息,
请参阅《GBase 8s GLS 用户指南》。
DBDATE 可指定显示格式的下列属性:
• 日期中时间单位的顺序(月、日和年)
• 年份是以两位数字 (Y2) 还是四位数字 (Y4) 的形式显示
• 月、日和年时间单位之间的分隔符
对于“美国英语”语言环境,DBDATE 的缺省值为 MDY4/,其中 M 表示月,D 表
示日,Y4 表示四位的年份,而斜杠 ( / ) 表示时间单位分隔符(例如,01/08/2011)。
可充当分隔符的其他有效字符包括连字符 ( - )、句点 ( . ) 或零 (0)。要指示没有分隔符,
请使用零。如果尝试指定连字符、句点或零以外的字符作为分隔符,或者未在 DBDATE 规
范中加入任何分隔符,那么缺省情况下会使用斜杠 ( / )。
如果未在客户机上设置 DBDATE,那么数据库服务器上的任何 DBDATE 设置会覆
盖客户机上的 MDY4/ 缺省值。如果在客户机上设置了 DBDATE,那么客户机会使用该值
(而不是数据库服务器上的设置)。
下表显示了有效 DBDATE 设置的一些示例以及它们对应于日期 2011 年 1 月 8 日的
显示:
DBDATE 设置 2011 年 1 月 8
日的表示法:
DBDATE 设置 2011 年 1 月 8 日
的表示法:
MDY4/ 01/08/2011 Y2DM. 11.08.01
DMY2- 08-01-11 MDY20 010811
MDY4 01/08/2011 Y4MD* 2011/01/08
格式 Y4MD*(因为星号不是有效分隔符)和 MDY4(未定义任何分隔符)都会显示缺省
符号(斜杠)作为分隔符。
要点: 如果使用 Y2 格式,那么 DBCENTURY 环境变量的设置还会影响在数据输入时
对文字 DATE 值求值的方式。
另外,GBase 8s ESQL/C 调用的某些例程可使用 DBTIME 变量(而不是 DBDATE)
来将 DATETIME 格式设置为国际规范。有关更多信息,请参阅 DBTIME 环境变量和
GBase 8s ESQL/C 程序员手册 中对 DBTIME 环境变量的论述。
DBDATE 变量的设置优先于 GL_DATE 环境变量的设置,并且优先于
CLIENT_LOCALE 指定的任何缺省 DATE 格式。有关 GL_DATE 和
CLIENT_LOCALE 的信息,请参阅《GBase 8s GLS 用户指南》。
最终用户格式影响下列上下文:
⚫ 在显示 DATE 值时,GBase 8s 产品使用 DBDATE 环境变量来确定输出的格式。
⚫ 在 DATE 值的数据输入期间,GBase 8s 产品使用 DBDATE 环境变量来解释输入。
例如,如果在 INSERT 语句中指定文字 DATE 值,那么数据库服务器期望此文字值
与 DBDATE 指定的格式兼容。同样,数据库服务器将您指定为 DATE( ) 函数的自变量
的日期解释为 DBDATE 格式。
数据库对象中的 DATE 表达式
当数据库对象中的表达式(包括检查约束、分段存储表达式、SPL 例程、触发器或 UDR)
包含字面日期值时,数据库服务器使用在创建(或上次修改)数据库对象时 DBDATE(或其
他相关环境变量)所具有的设置对表达式求值。如果 DBDATE 已复位为新值,那么对文字
DATE 求值时会忽略该新值。
例如:假如 DBDATE 设置为 MDY2/,用户创建了一个表且 orderdate 列具有以下检查
约束:
orderdate < '06/25/98'
则先前表达式的日期根据定义约束时 DBDATE 的值来进行格式编排。检查约束表达
式解释为 orderdate < '06/25/98',不管对 orderdate 列执行插入或更新操作期间
DBDATE 的值如何。假设当用户将值 '30/01/98' 插入 orderdate 列中时,DBDATE
复位为 DMY2/。插入的日期值使用日期格式 DMY2/,而检查约束表达式使用日期格式
MDY2/。
有关较早版本的 GBase 8s 中始终根据运行时环境求值的旧对象的讨论,请参阅数据
库对象中的缩写年份和表达式。该节描述如何重新定义对象,以便根据定义对象(或上次
修改对象)时生效的环境变量设置解释日期。
要点: GBase 8s 的 DBDATE 的行为与先前版本不兼容。

4.5.9 DBDELIMITER 环境变量
设置 DBDELIMITER 环境变量,可以指定与 dbexport 实用程序和 LOAD 及 UNLOAD 语
句配合使用的字段定界符。


delimiter 是未装入的数据文件的字段定界符。
delimiter 可以是任何单个字符,但以下列表中的字符除外:
• 十六进制数字(0 至 9,a 至 f,A 至 F)
• 换行符或 CTRL-J
• 反斜杠 ( \ ) 符号
竖线 ( | = ASCII 124) 是缺省值。例如,要将字段定界符更改为加号 ( + ),可按
如下方式设置 DBDELIMITER:
setenv DBDELIMITER '+'
4.5.10 DBEDIT 环境变量
使用 DBEDIT 环境变量,可以指定要与 DB-Access 中的 SQL 语句和命令文件配合使
用的文本编辑器。
如果设置了 DBEDIT,那么指定文本编辑器是自动调用的。如果未设置 DBEDIT,系统
将提示您指定一个文本编辑器作为会话剩余部分的缺省编辑器。


editor 是您想要使用的文本编辑器的名称。
对于大多数 UNIX™ 系统,缺省文本编辑器为 vi。如果使用另一文本编辑器,请确保
它创建的是平面 ASCII 文件。某些文档方式的字处理程序引入的打印机控制字符可能会干
扰 GBase 8s 产品的运行。
要指定 EMACS 文本编辑器,请通过以下命令设置 DBEDIT:
setenv DBEDIT emacs

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论