返回首页

gbase数据、南大通用产品文档:GBase8a;

更新日期:2024年09月11日

在创建数据库连接时,如果当前节点为

使用“编辑函数过程”功能,您可以查看该函数过程的定义信息。
在“数据库导航”中,右键单击Schema 节点下的函数过程节点,选择菜单
中的“编辑函数过程”菜单项,如下图所示:

GBaseDataStudio 管理工具手册
- 328 -
南大通用数据技术股份有限公司
图5- 731 查看函数过程菜单项
选择“编辑函数过程”菜单项后,管理器会打开函数过程定义信息,如下
图所示:
图5- 732 函数过程定义信息
在如上编辑界面的“源”编辑框中编辑函数过程定义信息,编辑完成后点
击工具栏中的“保存”按钮或者点击“Ctrl+S”来保存,弹出保存确认界面如

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 329 -
下图所示:
图5- 733 新建函数过程编辑
点击“保存”按钮,您可以保存这次新建函数过程;点击“复制”按钮,
您可以将新建函数过程的SQL 语句拷贝到粘贴板;点击“取消”按钮,您可以
取消本次保存。保存后将刷新函数过程内容。

可以在使用表达式的任何地方使用数据转换函数。
下列转换函数在日期与字符串之间转换:

DATE 函数
DATE 函数将字符串转换为 DATE 值。
在以下查询中,
DATE 函数将字符串转换为 DATE
值,
以允许与 DATETIME 值进行比较。
仅当 call_dtime值比指定的 DATE 晚时查询才会检
索 DATETIME 值。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 92 -

图: 查询
SELECT customer_num, call_dtime, res_dtime
FROM cust_calls
WHERE call_dtime > DATE ('12/31/97');
图: 查询结果
customer_num call_dtime res_dtime

106 1998-06-12 08:20 1998-06-12 08:25
110 1998-07-07 10:24 1998-07-07 10:30
119 1998-07-01 15:00 1998-07-02 08:21
121 1998-07-10 14:05 1998-07-10 14:06
127 1998-07-31 14:30
仅当 call_dtime 大于或等于指定日期时,
下列查询才会将 DATETIME 值转换为 DATE 格
式并带标签显示这些值。
图: 查询
SELECT customer_num,
DATE (call_dtime) called,
DATE (res_dtime) resolved
FROM cust_calls
WHERE call_dtime >= DATE ('1/1/98');
图: 查询结果
customer_num called resolved

106 06/12/1998 06/12/1998
110 07/07/1998 07/07/1998
119 07/01/1998 07/02/1998
121 07/10/1998 07/10/1998
127 07/31/1998

TO_CHAR 函数
TO_CHAR 函数将 DATETIME 或 DATE 值转换为字符串值。
TO_CHAR 函数根据您指定
的日期格式化伪指令对 DATETIME 值进行求值并返回 NVARCHAR 值。
有关受支持的日
期格式化伪指令的列表,请参阅《GBase 8s GLS 用户指南》 GL_DATETIME 环境变量的
描述。
还可以使用 TO_CHAR 函数将 DATETIME 或 DATE 值转换为 LVARCHAR 值。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 93 -

下列查询使用 TO_CHAR 函数将 DATETIME 值转换为可读性更强的字符串。
图: 查询
SELECT customer_num,
TO_CHAR(call_dtime, "%A %B %d %Y") call_date
FROM cust_calls
WHERE call_code = "B";
图: 查询结果
customer_num 119
call_date Friday July 01 1998
下列查询使用 TO_CHAR 函数将 DATE 值转换为可读性更强的字符串。
图: 查询
SELECT order_num,
TO_CHAR(ship_date,"%A %B %d %Y") date_shipped
FROM orders
WHERE paid_date IS NULL;
图: 查询结果
order_num 1004
date_shipped Monday May 30 1998

order_num 1006
date_shipped

order_num 1007
date_shipped Sunday June 05 1998

order_num 1012
date_shipped Wednesday June 29 1998

order_num 1016
date_shipped Tuesday July 12 1998

order_num 1017
date_shipped Wednesday July 13 1998
TO_CHAR 函数还可以格式化数字值。
有关内置 TO_CHAR 函数的更多信息,
请参阅
《GBase
8s SQL 指南:语法》。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 94 -


TO_DATE 函数
TO_DATE 函数接受字符数据类型的参数并将此值转换为 DATETIME 值。
TO_DATE 函数
根据您指定的日期格式化伪指令对字符串求值并返回 DATETIME 值。有关受支持的日期
格式化伪指令的列表,请参阅《GBase 8s GLS 用户指南》中 GL_DATETIME 环境变量的
描述。
还可以使用 TO_DATE 函数将 LVARCHAR 值转换为 DATETIME 值。
下列查询使用 TO_DATE 函数将字符串转换为指定格式的 DATETIME 值。
图: 查询
SELECT customer_num, call_descr
FROM cust_calls
WHERE call_dtime = TO_DATE("2008-07-07 10:24",
"%Y-%m-%d %H:%M");

图: 查询结果
customer_num 110

call_descr Order placed one month ago (6/7) not received.
可以使用 DATE 或 TO_DATE 函数来将字符串转换为 DATE 值。
TO_DATE 函数的一个优
点是它允许您为返回的值指定格式。(可以使用 TO_DATE函数(它总是返回 DATETIME
值)来将字符串转换为 DATE 值,原因是数据库服务器隐式处理 DATE 和 DATETIME
值之间的转换。)