首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle Decode函数的不同格式结果

Oracle Decode函数的不同格式结果
EN

Stack Overflow用户
提问于 2010-10-04 15:41:50
回答 1查看 5K关注 0票数 3
代码语言:javascript
复制
SELECT DECODE (SYSDATE, SYSDATE + 1, NULL, SYSDATE)
  FROM DUAL;


SELECT DECODE (SYSDATE, SYSDATE + 1, TO_DATE (NULL), SYSDATE)
  FROM DUAL;

为什么我会从上面的查询中得到不同格式的结果?

我使用的是Oracle数据库10g企业版10.2.0.4.0 - 64bi

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-04 16:59:30

decode函数结果的数据类型为第三个参数。在第一种情况下,由于没有为NULL指定数据类型,因此使用默认的VARCHAR2。在第二种情况下,显式地请求日期,因此结果是日期。

换句话说,第一个查询与:

代码语言:javascript
复制
SELECT DECODE(SYSDATE, SYSDATE + 1, to_char(NULL), to_char(SYSDATE)) FROM DUAL;

此查询的输出将根据您的NLS_DATE_FORMAT会话参数进行格式化,而第二个查询将返回一个日期,该日期将根据您的客户端设置显示。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3853420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档