加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么Oracle 10g to_char(日期时间)截断字符串?

发布时间:2020-12-12 16:30:07 所属栏目:百科 来源:网络整理
导读:我得到了一个 bug report,其中Oracle 10g从to_char(datetime)截断了返回值: SQL select to_char(systimestamp,'"day:"DD"hello"') from dual;TO_CHAR(SYSTIMESTAMP,'"DAY:"DD"HE---------------------------------day:27hel 值得注意的是,这似乎不会发生在O
我得到了一个 bug report,其中Oracle 10g从to_char(datetime)截断了返回值:
SQL> select to_char(systimestamp,'"day:"DD"hello"') from dual;

TO_CHAR(SYSTIMESTAMP,'"DAY:"DD"HE
---------------------------------
day:27hel

值得注意的是,这似乎不会发生在Oracle 11g.我的问题是,它为什么会发生?是否有一些配置变量设置为告诉to_char(datetime)为其返回值分配更大的缓冲区?

我不确定,但它可能只是在SQL * Plus中显示.你试过在Toad中运行吗?或者,如果将结果分配给PL / SQL块中的varchar2并输出结果?

这是我在SQL * Plus Reference for 10g中找到的:

The default width and format of unformatted DATE columns in SQL*Plus
is determined by the database NLS_DATE_FORMAT parameter. Otherwise,
the default format width is A9. See the FORMAT clause of the COLUMN
command for more information on formatting DATE columns.

您的值被修剪为9个字符,对应于默认的A9格式.我没有相同的版本,这种行为不会在11g中复制,所以请你检查一下我的理论吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读