• oracle学习 七 拼接变量+日期函数(持续更)


    select count(KEYCODE) from STHSGDOC.ZJSJJL where ysrq=to_date(to_char(sysdate,'yyyy')||'/1','yyyy/MM/');

    查询当年一月份的数据,其中用到了to_char以及to_date,

    to_char的用法是吧字段转换为char类型,举个例子:

    to_char(sysdate, 'yyyy/mm/dd'); 

    相当于按照这个格式转化了系统的时间,结果就是'2003/07/09' 

    那么to_date就是转化为日期格式了,有几个句子:

    select to_char(sysdate,'yyyy') as nowYear   from dual;   //获取时间的年   
    select to_char(sysdate,'mm')    as nowMonth from dual;   //获取时间的月   
    select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日   
    select to_char(sysdate,'hh24') as nowHour   from dual;   //获取时间的时   
    select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分   
    select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

    其中dual是oracle自定义的虚拟表,但是里面只能显示一个数据。

    在SQL中查询某个日期直接的单引号里面放上日期即可,但是oracle的原生日期是天/月/年的表现形式,一开始你还要设置一下会话,例如:

    alter session set nls_date_format = ‘yyyy-dd--mm’

    就修改为了yyyy-dd--mm格式。

    接下来就是拼接字段的方法,除了使用+号还可以使用“||”这样做

    select to_date(to_char(sysdate,'yyyy')||'/1/1','yyyy/MM/dd') as ttime from dual

    可以得到2015/1/1如果使用加号的话,会报

    ORA-01722无效的数字这个错误。

     ORA-01830:日期格式图片在转换整个输入字符串之前结束,解决:错误产生原因:date类型不能包含秒以后的精度。

  • 相关阅读:
    solution for "cannot find vcvarsall.bat" in Python
    fast debug a program with GDB
    pLSA 浅析
    argsort in Python
    how to create html from tex source file
    google云输入法以及在chrome中的插件
    贝叶斯估计浅析
    JavaScript学习篇(5)
    JavaScript学习篇(6)
    JavaScript学习篇(2)
  • 原文地址:https://www.cnblogs.com/llcdbk/p/4208156.html
Copyright © 2020-2023  润新知