为了账号安全,请及时绑定邮箱和手机立即绑定

如下内容,求助ORACLE中DECODE,TO_CHAR AS的用法

如下内容,求助ORACLE中DECODE,TO_CHAR AS的用法

慕斯王 2022-03-02 15:07:48
DECODE(TO_CHAR(BDATE,'YYYY-MM-DD'),'1900-01-01','1990-01-01',TO_CHAR(BDATE,'YYYY-MM-DD')) AS date,这句话的意思是什么?
查看完整描述

2 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

TO_CHAR(BDATE,'YYYY-MM-DD'):是将表中BDATE字段(应该是日期类型)转化为格式为YYYY-MM-DD的字符类型,比如2009-12-15
DECODE(TO_CHAR(....),'1900-01-01',‘1990-01-01’,TO_CHAR(...)) as date :首先DECODE()的语法是DECODE(A,a,m,n),意思是IF A=a then 显示m else 显示 n .也就是如果BDATE是1900-01-01的话就显示1990-01-01否则就仍显示BDATE。AS 只是给这整个DECODE()的字段取个别名,你可以不加AS DATE试试,看看输出的第一行就明白了。

查看完整回答
反对 回复 2022-03-07
?
MMTTMM

TA贡献1869条经验 获得超4个赞

select decode('1','1','2','4') from dual;
select decode ('1','2','3','4') from dual;

/*--执行上面代码可得知decode是怎么回事
--select decode (字段,值1,值2,值3) from 表 如果字段=值1 则得到的结果是值2 否则得到的结果是值3*/
select sysdate from dual;
select to_char(sysdate,'yyyy-mm-dd') from dual
/*---to_char() 查询出来的日期,以后面的‘yyyy-mm-dd’ 的格式显示*/

查看完整回答
反对 回复 2022-03-07
  • 2 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信