본문 바로가기

SQL45

SQL 개행문자 제거하기 무슨 요청이 계속 들어오는지 모르겠다.데이터 뽑아달라고해서 뽑아줬더니, 이번에는 개행문자도 제거해서 다시 보내달란다.그럼 애초에 그렇게 말하던가... 시불놈이 ㅠㅠ CHR(10)은 'Line feed, 개행'이고CHR(13)은 'Carriage return, 복귀'이다. 엑셀에서 줄바꿈을 하면 CHR(10)만 입력이 되고,메모장같은 곳에서 줄바꿈을 하면 CHR(10)과 CHR(13) 값 두 개가 입력된다. 엑셀 줄바꿈 => '엑셀' || CHR(10) || '줄바꿈' 메모장 줄바꿈 => '메모장' || CHR(13) || CHR(10) || '줄바꿈' 이다. 그래서 동시에 두개의 값을 제거해줘야한다. 쿼리 내에서 REPLACE(REPLACE(컬럼이름, CHR(10), ''), CHR(13), '') AS.. 2015. 4. 3.
DB2 한줄만 출력하기 DB2에서 한줄만 출력하는 방법 쿼리를 짜다보면 특정한 값 (한줄만) 가져와야하는 경우가 종종 생기는데 가끔 두줄 이상을 가져와서 나를 난감하게 만드는 경우가 많다. 이 쿼리는 내가 안 만든거야;;; 분명히 재작년에 만들고 도망간 어떤 녀석꺼라고!! SELECT * FROM table_name FETCH FIRST 1 ROW ONLY을 해주자. 테이블 맨 뒤에 'FETCH FIRST 1 ROW ONLY' 'FETCH FIRST 2 ROWS ONLY' 2 ROWS 다. ROW+S다. S가 붙는다. 아, 물론 안 붙이고 그냥 ROW라고 해도 잘 나옵니다. (님들 낚임 ^^) 다른 방법으로는 쿼리문 맨 마지막에 LIMIT 1를 주는 것이다.DB2 설정에 따라서 LIMIT가 안될 수도 있다. 예시) SELECT.. 2015. 3. 31.
오라클 시퀀스 sequence 만들기 오라클사용할때는 시퀀스를 만들어서 사용했는데... 현업에서는 사용하지 말라고 한다. 뭐.... 우리 회사에서는 말이지 insert 할 때, 시퀀스 대신에 max(컬럼)+1 로 사용하라고 한다. /********************************************/일단, 오라클에서 시퀀스 만드는 방법 CREATE SEQUENCE seq_name MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10 (캐쉬 10이 있어야 훨씬 빠르게 가져올 수 있다.) 사용은 seq_name.nextval 이라고 적으면, 해당 시퀀스의 다음 값을 가져온다. /********************************************/ 출처 : http://www.w3schoo.. 2015. 3. 31.
DB2 테이블에 PK 설정하기 (AUTO INCREMENT) DB2 테이블에 PK 설정하는 방법은 오라클이나, mySQL하고는 다르다. AUTO INCREMENT를 사용하는데, 왜 너네들은 니들 마음대로 사는지 모르겠다 ㅡㅡ 사용법은 간단하다. =================================================================== DB2 CREATE TABLE ( datatype GENERATED ALWAYS AS IDENTITY ( START WITH , INCREMENT BY , NOMINVALUE / MINVALUE , NOMAXVALUE / MAXVALUE NOCYCLE / CYCLE, NOCACHE / CACHE , NOORDER / ORDER ), datatype, datatype, ...................... 2015. 3. 31.