2020. 10. 21. 09:25

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

posted by 지긋이 2020. 10. 16. 11:19

프로젝트별 순수 개발자로 있다가 사내 전산팀으로 바꿨더니 할게 참 많아졌다.

그 중 요즘 제일 곤역인것은 다양한 DB... 10년간 오라클만 썼더니 하하;;
기본적인 문법은 다 비슷한데 약간씩 다른게 있었다. 별거아닌것으로 시간 소비했을때의 기분이란.. 

1. 테이블 생성/수정시 DATA TYPE
1) Numeric(p,[s]) : p 소수점 이하 자리수 포함한 총 자릿수, s 소수점 이하 자릿수[생략가능]
cf) 오라클은 Number, Mysql은 int, bigint, tinyint
2) timestamp, date
cf) 오라클은 date, Mysql은 timestamp
3) char, varchar
cf) 오라클은 char(??Byte), varchar2(??Byte), Mysql은 varchar

2. 테이블 복사
select 컬럼명 into new테이블명 from 원본테이블명 where 조건
cf) 오라클은 create table new테이블명 as select * from 원본테이블명

3. 날짜 기본형 : 현재 날짜 시간을 나타내는 명령어
getdate()
cf) 오라클은 sysdate, Mysql은 now()

4. 형타입 변환
1) CAST(필드명 AS 바꿀 타입) 
ex) cast((필드명) as varchar)
2) CONVERT(바꿀 타입(필드명))
ex1) convert(varchar(필드명))
ex2) convert(char(10),getdate(),102) => 2020.10.12
      convert(char(10),getdate(),112) => 20201012
      convert(char(10),getdate(),126) => 2020-10-16

5. 트랜잭션 기본
- 실행내용 보고 최종반영 하기
begin tran
.. 실행문
commit; 혹은 rollback;

6. NULL처리 isNull
오라클에서 흔히 쓰는 nvl은 mssql에서는 존재하지 않는다.
그럼 어떻게? 이렇게 ISNULL(A.aa, ''
ex) select isnull(left('20200226Ae',9),'') aa ,isnull(null,'없어') bb, isnull(left('ABCDEFGdate',6),'') cc

aa          bb cc
20200226A 없어 ABCDEF


7. 기타

MS-SQL은 Oracle과 같은 가상 테이블을 사용하지 않는다.
즉, from 이하를 생략하고 함수 그대로 사용이 가능하다.
ex1) Oracle 현재 시간 구하기
select sysdate() from dual;
ex2) MS-SQL 현재 시간 구하기
select getdate(); 

** 스크립트 작성
declare @변수명 타입
set @변수명 = 변수값

본문 내용

posted by 지긋이 2020. 10. 12. 15:06

자주 사용할 때는 이런거 찾아보지도 되새겨보지 않아도 잘 썼는데...
역시 근 5년 이상 사용하지 않았더니 vi만 기억이.. 편집기 종료도 기억이 안 나서 인터넷검색이라니...

정보를 정리하는겸 다시 끄적여본다.

1. 터미널의 내가 원하는 파일의 내용을 확인하기 위해 편집기모드로 들어가자.
vi 파일명 ex) vi server.xml
1) 처음 편집기에 들어가게 되면 명령모드로 진입하게 된다.
- 모드는 3가지가 있는데 명령, 입력, ex 명령이 있다.
! 일반적으로 내용을 살펴볼때는 명령모드에서, 내용 수정을 위해서는 입력모드를 사용한다.
입력모드는 명령모드 상태에서 I(현재 커서 위치부터 입력)을 보통 사용하게 되는데 입력모드 전환 명령어는
~~~ 가 있다.
2) 블라블라 내용이 text로 적혀있을 것이고, 내용이 길 경우 다음 페이지를 넘기기 위해서는 pgdn/pgup키를, 한줄씩 이동하여 보고 싶을때는 키보드의 4개 화살표를 이용하여 이동하여 볼 수 있다.
여기에도 키가 다양하게 있는데 ~~~
2. 터미널에서 종료하려면 명령모드에서 일반적으로 :q 후 엔터를 치면 되는데 종료명령어도 여러개다.
1) 종료 명령어
- :q 아무 동작 없이 내용을 보기만 했을때 일반적으로 사용하는 명령어로 vi 편집기 종료
- :q! 변경된 내용이 있어도 무시하고 종료
- :wq 변경된 내용을 저장하고 종료