DB Migration

null 값

  1. Java Code
    String ctxKey = ...;
    Object value = ctx.get(ctxKey);
    Object bindingValue = null;
    if ( value == null ) {
        bindingValue = value;
    } else if ( value instanceof String[] ) {
        String v = ((String[]) value)[0];
        if ( v == null || v.length()==0 ) {
            bindingValue = null;
        } else {
            bindingValue = v;
        }
    } else if ( value instanceof String ) {
        String v = ((String) value);
        if ( v == null || v.length()==0 ) {
            bindingValue = null;
        } else {
            bindingValue = v;
        }
    } else{
        bindingValue = value;
    }
    

SQL 문

  1. alias
    List<Map> rowSet = dao.find("emp.select");
    //rowSet 을 json data로 변환함
    
    • Oracle
      select EMPNO, ENAME, JOB, HIREDATE, DEPTNO from EMP
      
    • PostgreSQL
      select EMPNO "EMPNO", ENAME "ENAME", JOB "JOB", HIREDATE "HIREDATE", DEPTNO "DEPTNO" from EMP
      
      1. nvl
        • Oracle
          select EMPNO, nvl(ENAME,'unknown') ENAME, JOB, HIREDATE, DEPTNO from EMP 
          
        • PostgreSQL
          select EMPNO, coalesce(ENAME,'unknown') ENAME, JOB, HIREDATE, DEPTNO from EMP
          
          1. timestamp + 3
            • Oracle
              select * from SCHEDULE_JOB_HISTORY where LOG_TIME < CURRENT_TIMESTAMP - 10
              
            • PostgreSQL
              select * from SCHEDULE_JOB_HISTORY where LOG_TIME < CURRENT_TIMESTAMP - interval '10 days'
              
              1. sysdate
                • Oracle
                  select * from EMP where HIREDATE > sysdate - 30
                  
                • PostgreSQL
                  select * from EMP where HIREDATE > current_date - 30