返回首页

gbase数据、南大通用产品文档:GBase8sDBTIME 环境变量

更新日期:2024年09月11日

DBTIME 环境变量对 DATETIME 值的显示和数据输入格式指定格式编排掩码。 只有在
DBTIME 要格式化的 DATETIME 数据值具有与指定的 DBTIME 设置相同精度的情况下,
DBTIME 环境变量才有用。对于用不同 DATETIME 限定符声明的 DATETIME 值,您可能会
遇到意外或无效的显示格式。

literal 是文字空格或任何可打印字符。
Min 是一个文字整数,设置 special 指定的值的子串中的最小字符数。
Precision 是任何时间单位的值的位数或月份名中的最大字符数。
Special 为以下列示的占位符之一。
这些术语和符号在接下来的几页中作了描述。
这个引号括起来的字符串可以包括字面的字符以及 DATETIME 值的个别时间单位和
其他元素值的占位符。DBTIME 仅在您调用某些 GBase 8s ESQL/C DATETIME 例程时
起作用。(有关详细信息,请参阅 GBase 8s ESQL/C 程序员手册。)如果未设置
DBTIME,那么表示未定义这些例程的行为,且“YYYY-MM-DD hh:mm:ss.fffff”是
缺省语言环境中的 DATETIME YEAR TO FRACTION(5) 文字值的缺省显示和输入格式。
百分比 ( % ) 符号给予后跟的 special 占位符很特殊的意义。如果没有前导 % 符
号,格式化掩码内的任何字符都被解释为文字字符,即使它与以下列表中的占位符字符之
一是相同字符。此外还需注意 special 占位符符号是区分大小写的。
DBTIME 格式字符串内的下列字符是 DATETIME 值内的时间单位(或其他功能)
的占位符。
%b
由缩写月份名替换。
%B
由完整月份名替换。
%d
由十进制数形式的月份中的一天 [01,31] 替换。
%Fn
由带有整数 n 指定的小数位的秒的小数替换。n 的缺省值为 2;n 的范围为 0 ≤ n
≤ 5。
%H

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 164 -
由小时(24 小时时钟)替换。
%I
由小时(12 小时时钟)替换。
%M
由十进制数形式的分钟 [00,59] 替换。
%m
由十进制数形式的月份 [01,12] 替换。
%p
由 A.M. 或 P.M.(或语言环境文件中的等效值)替换。
%S
由十进制数形式的秒 [00,59] 替换。
%y
由四位十进制数的年份替换。
%Y
由四位十进制数的年份替换。用户必须输入四位值。
%%
替换为 %(以允许格式字符串中出现 %)。
例如,考虑 DATETIME YEAR TO SECOND 的以下显示格式:
Mar 21, 2001 at 16 h 30 m 28 s
如果用户输入两位年份值,那么此值根据 DBCENTURY 环境变量设置展开为 4
位。如果未设置 DBCENTURY,那么在缺省情况下使用字符串 19 作为头两位。
按以下命令行(用于 C shell)所示设置 DBTIME:
setenv DBTIME '%b %d, %Y at %H h %M m %S s'
缺省 DBTIME 生成以下 ANSI SQL 字符串格式:
2001-03-21 16:30:28
可按以下示例所示设置缺省 DBTIME:
setenv DBTIME '%Y-%m-%d %H:%M:%S'
可选字段宽度和精度规范 (w.p) 可直接跟在百分比 (%) 字符之后。它解释为如下所
示:
w
指定最小字段宽度。该值是右对齐的,左边填充空格。
-w
指定最小字段宽度。该值是左对齐的,右边填充空格。
0w
指定最小字段宽度。该值是靠右对齐的,并在左侧使用零填充。

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 165 -
p
指定d、H、I、m、M、S、y 和 Y 时间单位值的精度或 b 和 B 月份名中的最大字
符数。
下列限制适用于字段宽度和精度规范:
如果数据值提供的位数少于 precision 指定的位数,那么使用前导零填充该值。
如果数据值提供的字符数超过 precision 指定的字符数,那么从右边截断超出的
字符。
如果没有为 d、H、I、m、M、S 或 y 占位符指定字段宽度或精度,那么缺省值
为 0.2 或 0.4(对于 Y 占位符)。
仅当将 DATETIME 值转换为 ASCII 字符串时,precision 规范才有意义,但反
过来却不是这样。
F 占位符不支持此文件宽度和精度语法。
与 DBDATE、GL_DATE 或 GL_DATETIME 一样,DBTIME 设置仅控制数据值
的字符串表示;它不能更改 DATETIME 列的内部存储格式。(有关确定 DATE 值的格
式的信息,请参阅 DBDATE 环境变量页中对 DBDATE 的讨论。)
在支持基于纪元的日期的东亚语言环境中,DBTIME 还可指定日本或台湾纪元。请
参阅《GBase 8s GLS 用户指南》以获取有关设置 DBTIME 以显示基于纪元的
DATETIME 值的更多占位符符号的详细信息以及对 GL_DATETIME 和 GL_DATE 环
境变量的描述。

1. 根据hibernate 版本获取对应的dialect 包。
2. 引入hibernate,dialect 包和jdbc 驱动包。
3. 配置hibernate.cfg.xml,设置gbase 使用的方言类,参考黑色背景设置。


org.hibernate.dialect.GBaseDialect

com.gbase.jdbc.Driver
name="connection.url">jdbc:gbase://192.168.5.66:5258/bhtjdbctest?profileSql=true

root
1

4. 程序验证
package gbase.hibernate.clienttest;

import java.util.List;
import junit.framework.TestCase;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
import org.hibernate.Transaction;

public class clientTest extends TestCase{
private SessionFactory sf;
Session session = null;
PoliceAudit adt = new PoliceAudit();
Transaction tx = null;

@Override
public void setUp(){
sf = new Configuration().configure().buildSessionFactory();

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1071
}
@Override
public void tearDown(){
if(sf != null){
sf.close();
}
}
public void testInsertOfCurd() {
try{
for (int i=1;i<=5;i++){
session = sf.openSession();
Transaction tx = session.beginTransaction();
adt.setCreateDate(java.sql.Date.valueOf("2011-05-01"));
adt.setAuditType(i+1);
adt.setContentId("test client project");
adt.setCount(i);
adt.setStatus(i);
session.save(adt);
session.flush();
tx.commit();
}
session.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
public void testSelectOfCurd(){
try{
session = sf.openSession();
String hql = "from t_police_auditing in class
gbase.hibernate.clienttest.PoliceAudit";

Query q = session.createQuery(hql);
List ls = q.list();
for (int j=0;jtx = session.beginTransaction();
adt = (PoliceAudit)ls.get(j);
}
session.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1072

DB-Access 实用程序随 GBase 8s 数据库服务器产品一起提供,它包括一个或多个以下演
示数据库:

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 3 -

stores_demo 数据库以一家虚构的体育用品批发商的有关信息举例说明了关系模式。
GBase 8s 出版物中的许多示例均基于 stores_demo 数据库。

superstores_demo 数据库举例说明了对象关系模式。superstores_demo 数据库包含扩
展数据类型、类型和表继承以及用户定义的例程的示例。
有关如何创建和填充演示数据库的信息,请参阅《GBase 8s DB-Access 用户指南》。有关
数据库及其内容的描述,请参阅《GBase 8s SQL 指南:参考》。
用于安装演示数据库的脚本位于 UNIX™ 平台上的 $GBASEDBTDIR/bin 目录和 Windows
™ 环境中的 %GBASEDBTDIR%\bin 目录中。