GBase数据库-数据转换函数

GBase数据库-数据转换函数


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

DATE 函数

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

查询:

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值。
还可以使用TO_CHAR函数将DATETIME或DATE值转换为LVARCHAR值。
下列查询使用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_DATE 函数

TO_DATE 函数接受字符数据类型的参数并将此值转换为DATETIME值。
TO_DATE 函数根据您指定的日期格式化伪指令对字符串求值并返回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值之间的转换。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值