반응형
SELECT

      ROUND(123.4567,1)  AS T11   /* 반올림(소수점 둘째자리 반올림) */
    , ROUND(123.4567,0)  AS T12   /* 반올림(소수점 첫째자리 반올림) */
    , ROUND(123.4567,-1) AS T13   /* 반올림(정수 첫째자리 반올림) */
    
    , CEIL(123.4567)       AS T21   /* 소수점 첫재짜리 올림 */
    , CEIL(123.4567*10)/10 AS T22   /* 소수점 둘째자리 올림 */
    
    , TRUNC(123.4567,1)  AS T31   /* 버림(소수점 둘째자리 버림) */
    , TRUNC(123.4567,0)  AS T32   /* 버림(소수점 첫째자리 버림) */
    , TRUNC(123.4567,-1) AS T33   /* 버림(정수 첫째자리 버림) */
FROM DUAL
반응형
반응형
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') T1              --20210331
     , TO_CHAR(SYSDATE, 'YYYY/MM/DD') T2            --2021/03/31
     , TO_CHAR(SYSDATE, 'YYYY-MM-DD') T3            --2021-03-31
     , TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') T4 --2021-03-31 13:15:31
     , TO_CHAR(SYSDATE, 'MM/DD') T5                 --03/31
     , TO_CHAR(SYSDATE, 'FMMM/DD') T6               --3/31
     , TO_CHAR(SYSDATE,'Mon DD, YYYY','NLS_DATE_LANGUAGE=ENGLISH') T5 -- Mar 31, 2021
     , TO_CHAR(SYSDATE,'Mon-YY','NLS_DATE_LANGUAGE=ENGLISH') T6 -- Mar-21
  FROM DUAL
반응형
반응형

SELECT
*
FROM 테이블
WHERE ISNUMERIC(컬럼) = 1

1 : 숫자 / 0 : 문자

 

반응형
반응형
반응형
반응형

운영서버에서 테스트 서버로 데이터 데이터 이관시, 가끔 시퀀스가 안맞아서 중복오류가 발생하곤 한다.

시퀀스 시작 번호를 지정숫자로 변경하는 방법은 다음과 같다.

예 1-> 1000으로 변경

alter sequence SEQ_01 increment by 1000;   // 증가번호를 1000으로 변경

select SEQ_01.nextval from dual;    // 적용

alter sequence SEQ_01 increment by 1;   // 증가번호를 1로 변경

 

반응형
반응형

select

'ALTER TABLE ' || TABLE_NAME || ' ADD ( ' || COLUMN_NAME || '_TMP VARCHAR2(' || DATA_LENGTH || ')); ' ||
'UPDATE ' || TABLE_NAME || ' SET ' || COLUMN_NAME || '_TMP = ' || COLUMN_NAME || '; ' ||
'UPDATE ' || TABLE_NAME || ' SET ' || COLUMN_NAME || ' = NULL; '||
'ALTER TABLE ' || TABLE_NAME || ' MODIFY ( ' || COLUMN_NAME || ' VARCHAR2(' || DATA_LENGTH || ')); ' ||
'UPDATE ' || TABLE_NAME || ' SET ' || COLUMN_NAME || ' = ' || COLUMN_NAME || '_TMP; ' ||
'ALTER TABLE ' || TABLE_NAME || ' DROP COLUMN ' || COLUMN_NAME || '_TMP; ' AS SQL

from all_tab_columns
where data_type like 'NVARCHAR%'
and OWNER = 'LLC'
ORDER BY TABLE_NAME;

반응형

'데이터베이스 > Oracle' 카테고리의 다른 글

오라클 날짜 포멧 골라 쓰기  (0) 2021.03.31
[Oracle] 시퀀스 시작 숫자 변경  (0) 2019.05.14
Orange for Oracle 단축키  (0) 2019.01.28
[oracle]GREATEST, LEAST 함수  (0) 2018.06.22
Oracle 달력 쿼리  (0) 2016.10.13
반응형

SQL서버 CLR 활성화 시키기

SQL서버에서 .NET 으로 만든 사용자 함수를 실행 시키려고 하는데 다음과 같은 오류가 발생하면 .NET Framework에서 사용자 코드를 실행할 수 없습니다. "clr enabled" 구성 옵션을 설정하십시오. 먼저 아래와 같..

hackhyun.tistory.com

반응형
반응형

자주 사용하는 Orange Hotkey(단축키) .

공통

F4: Object Info Ddisplay

Alt + C : Table 에서 마우스 포커스 > Column Display

.SQL-Tool : DDL, DML 가능

F5: 실행

Explain Plan 정보 View는 가능.PL/SQL Tool : PL/SQL Compile, Edit

Plan 에서 더블클릭 > Statics 정보

복사

코드 선택 > 오른쪽버튼 > copy to clipboard > 언어선택 : ctrl+shift + c

코드 선택 > 오른쪽버튼 > paste from clipboard > 언어선택 : ctrl+shift + c

실행

.Plan Tool : Explain Plan, Trace , Schema Display

F5: Plan 보기

F9: Trace 보기

ctrl + L : 선택만

ctrl + M : 현재라인 아래로

ctrl + J : 현재라인

ctrl + K : 현재커서

화면분할

Alt + Down : script editore 전체

Alt + Up : 밑에 정보만

Alt + Right : ..

Alt + Shift + 방향키 : 블럭 복사

Ctrl + D : 현재 라인 복사(아래로)

반응형
반응형
MAX, MIN은 한 컬럼의 최대값 최소값

GREATEST, LEAST는 복수 컬럼중 최대값, 최소값

Ex)
MAX(COL) or MIN(COL)
GREATEST(COL1,COL2,COL3) or LEAST(COL1,COL2,COL3)

반응형

'데이터베이스 > Oracle' 카테고리의 다른 글

[ORACLE] 테이블 컬럼 유형 변경시 참고 쿼리  (0) 2019.04.09
Orange for Oracle 단축키  (0) 2019.01.28
Oracle 달력 쿼리  (0) 2016.10.13
[오라클]그룹별 순번 만들기  (0) 2013.06.21
[오라클]유저생성  (0) 2013.04.09
반응형


날짜관련 함수 사용법

# YEAR
# %Y [2010]
# %y [10]

# MONTH
# %M [january-december]
# %b jan-dec[]
# %m [01-12]
# %c [1-12]

# DAY
# %D [1st-31th]
# %d [01-31]
# %j [001-365]

#HOUR
# %r [00:00:00-23:59:59 PM]
# %T [00:00:00-23:59:59]
#MINUTE

#SECOND
# %S [00-59]

(예문)
SELECT
now() AS 'now',
YEAR(now()) AS 'year',
MONTH(now()) AS 'month',
DAY(now()) AS 'day',
DAYOFWEEK(now()) AS 'dayofweek',
HOUR(now()) AS 'hour',
MINUTE(now()) AS 'minute',
SECOND(now()) AS 'second',
DATE_FORMAT(now(),'%Y-%m-%d')


 

 

반응형

+ Recent posts