zoukankan      html  css  js  c++  java
  • oracle时间问题 与case then

    思路一

    --select * from nls_session_parameters where parameter='NLS_DATE_LANGUAGE';
    
    -- 修改会话的默认日期格式
    ALTER SESSION SET nls_date_format = 'YYYY-MM-DD';
    -- 临时改变一下会话的默认语言, 以识别类似 '12-MAY-05' 的日期格式
    alter session set nls_date_language = 'AMERICAN';
    -- 改回简体中文语言:
    alter session set nls_date_language = 'SIMPLIFIED CHINESE';
    
    修改数据库的参数,需要重启数据库后生效 
    SQL> alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;
    

    思路二

    case then

    1. 以CASE开头,以END结尾
    2. 分支中WHEN 后跟条件,THEN为显示结果
    3. ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加
    4. END 后跟别名

    例:

    case when instr(f.create_date,'月')>0
         then TO_CHAR(TO_DATE(REPLACE(f.create_date,' ',''), 'dd-mm"月"-yy'),'yyyymmdd')
    else f.create_date end
    
  • 相关阅读:
    Code::blocks 使用c++ long double类型出错
    数论四大定理
    线性基
    win7 下强制删除文件
    C++数组指针的引用
    学习方法
    MySQL的ON DUPLICATE KEY UPDATE用法
    MVCC
    RabbitMQ中的Connection 和 Channel
    myisam和innodb的比较
  • 原文地址:https://www.cnblogs.com/fly-book/p/10942327.html
Copyright © 2011-2022 走看看