반응형

데이터베이스 90

MySQL DATE FORMAT 함수(날짜 포맷 함수)

DATE FORMAT SELECT DATE_FORMAT('2020-04-15 15:15:15', '%W %M %Y'); 쿼리 결과 SELECT DATE_FORMAT('2020-04-15 15:15:15', '%D %y %a %d %m %b %j'); 쿼리 결과 STR_TO_DATE() 기본 형식 STR_TO_DATE( str, format ) SELECT STR_TO_DATE('28,04,2020', '%d,%m,%y'); 쿼리 결과 MAKEDATE() 년도에서 정수만큼 지난 날짜를 구함 기본 형식 MAKEDATE( year, dayofyear ) SELECT MAKEDATE(2020, 31), MAKEDATE(2020, 32), MAKEDATE(2020, 0); 쿼리 결과 SYSDATE() 함수를 실행..

MySQL Date 함수(날짜 함수)

Date 함수 CURDATE(), CURRENT_DATE(), CURRENT_DATE SELECT CURDATE(), CURRENT_DATE(), CURRENT_DATE; 쿼리 결과 SELECT DATE(); SELECT DATE('2020-04-15 10:10:20'); 쿼리 결과 ADDDATE(),ADDDATE(), DATE_ADD() 기본 형식 ADDDATE( date, INTERVAL expr unit ) ADDDATE( expr, days ) DATE_ADD( date, INTERVAL expr unit ) SELECT ADDDATE(CURDATE(), 30); 쿼리 결과 SELECT ADDDATE(CURDATE(), INTERVAL 1 MONTH); 쿼리 결과 SUBDATE(), SUBDATE..

MySQL 제어 함수 - IF, IFNULL, NULLIF

IF() 함수 표현식1 이 참이면, 표현식2를 반환 표현식1 이 거짓이면, 표현식3을 반환 기본 형식 IF ( 표현식1, 표현식2, 표현식 3 ) Orders 테이블 데이터 Items 테이블 데이터 고객이 주문한 판매금액이 10000원을 초과하면 배송료를 면제하기 위한 질의문을 작성하시오. 단, 결과 테이블은 주문번호(orders.num), 계정(orders.customer), 주문물품(orders.item), 판매금액, 배송비(무료배송일 경우, ‘무료배송’, 유료 배송비는 2500)를 반환한다. 질의에 필요한 테이블 : orders, items 판매금액 계산 : orders.qty * items.price 배송비를 계산 : IF ( ( orders.qty * items.price ) > 10000, ‘..

MySQL 제어 함수 - CASE

CASE 연산자 속성이름의 값이 WHEN 절의 값과 같으면 반환값을 반환 예외반환값은 WHEN 절의 모든 값과 같지 않은 경우 반환되는 값 기본 형식 1 CASE 속성이름 WHEN 값1 THEN 반환값1 ....... WHEN 값n THEN 반환값n [ ELSE 예외반환값 ] END 기본 형식 2 CASE WHEN 조건1 THEN 반환값1 ....... WHEN 조건n THEN 반환값n [ ELSE 예외반환값 ] END Customer 테이블 데이터 Customer에서 계정에 대한 등급을 확인하되, 등급을 VIP는 최우수고객, Gold는 우수고객, Silver는 일반고객, New는 새내기, NULL인 경우 자료없음으로 표기하시오. SELECT account, CASE grade WHEN 'Gold' TH..

MySQL의 내장 함수

MySQL의 내장 함수 (Build-In Function) 내장함수는 상수나 속성이름을 입력 값으로 받아 단일 값을 결과로 반환 모든 내장 함수는 최초에 선언될 때 유효한 입력 값을 받아야 함 수학 함수의 입력 값 : 정수 또는 실수 선언에 위배된 값이 입력되면 질의는 실행을 중지하고 오류 메시지를 출력 내장함수는 SELECT절과 WHERE절, UPDATE SET절에 사용 가능 데이터 검색과 수정에만 내장함수를 사용 SELECT ... 함수명(인자) FROM 테이블이름 WHERE ... 열이름=함수명(인자) ; UPDATE 테이블이름 SET ... 열이름=함수명(인자) ; 표현식에서 타입 변환 데이터 타입이 다른 피연산자를 처리하기 위하여 연산자에 호환되도록 피연산자의 타입을 변환한다. 일부 변환은 암시..

[유닉스] 파일 덤프 [ dd (data duplicate) ]

dd (data duplicate) 입력한 내용을 변환하여 출력 형식 : dd [옵션] [if=입력파일] [of=출력파일] 옵션 bs=n : 입출력 블록의 크기를 n 바이트로 지정 (기본 1블록 = 512바이트) conv=lcase : 알파벳을 소문자로 변환 conv=ucase : 알파벳을 대문자로 변환 사용 예 dd bs=2 if=/dev/null of=test dd conv=lcase if=test1 of=test2 대소문자 전환하기 변환 형식 옵션의 값을 lcase로 주면 test_cut 파일 내용을 소문자로 변환 $ dd conv=lcase if=test_cut of=test_dd1 0+1 records in 0+1 records out 146 bytes (146 B) copied, 0.01320..

[유닉스] 파일 연결하기 ( paste )

paste 파일의 내용을 결합 형식 : paste [옵션] 파일1 파일2 옵션 -s :수평으로 붙임 -d 문자 : 필드 구분자를 지정 : 파일 대신 표준 입력 사용 사용 예 : paste test1 test2 > res, paste –s test1 test2 파일 붙이기 예제 파일 만들기 $ cut –f 1 test_cut > test_paste1 $ cut –f 2,3 test_cut > test_paste2 $ cat test_paste1 001 002 003 004 005 006 007 $ cat test_paste2 Hong Gil-Dong Park Ji-Sung Cha Doo-Ri Park Chan-Ho Kim Yun-A Bae Sue-Ji Han So-Ri $ 옵션 없이 두 파일을 붙이면 앞의..

[유닉스] 필드 잘라내기 ( cut )

cut 파일의 선택된 필드를 추출 형식 : cut [옵션] [파일] 옵션 -c 리스트 : 각 행에서 잘라낸 문자의 위치를 지정 -f 필드번호 : 지정한 필드를 잘라냄 -d 문자 : 필드 구분자 사용 예 cut –c 1-3 test cut –f 3 test 문자 추출 : -c 예제 파일 만들기 cut 명령은 탭으로 구분되어야 다른 필드로 인식 $ cp test_sort2 test_cut $ cat test_cut 001 Hong Gil-Dong 80 M 002 Park Ji-Sung 76 M 003 Cha Doo-Ri 90 M 004 Park Chan-Ho 88 M 005 Kim Yun-A 50 F 006 Bae Sue-Ji 48 F 007 Han So-Ri 49 F $ 파일에서 원하는 문자열 추출 5번째..

[유닉스] 중복 삭제 ( uniq )

uniq 중복 행을 삭제 형식 : uniq [옵션] [파일] 옵션 -c : 각 행 처음에 중복 횟수를 출력 -d : 중복된 행 중 한 행만 출력. 원래 유일했던 행은 삭제 -u : 중복되지 않는 행만 출력 사용 예 uniq test uniq –c test 중복 제거 예제 파일 만들기 $ cat test_uniq aaaaa abcde abcde bbbbb abcde bbbbb bbbbb abcde ccc $ uniq 명령을 옵션 없이 실행한 결과 인접한 행의 중복은 제거, 전체 중복은 확인하지 못함 해결 방법은 sort와 결합하는 것 $ uniq test_uniq aaaaa abcde bbbbb abcde bbbbb ccc $ $ sort test_uniq | uniq aaaaa abcde bbbbb cc..

[유닉스] 분할 ( split )

split 큰 파일을 일정한 크기를 가진 여러 개의 작은 파일로 분할 옵션을 지정하지 않으면 1000행씩 분할 형식 : split [옵션] [파일명] 옵션 : -b n : 크기가 n 바이트인 파일로 분할 -n : n행씩 분할 사용 예 split test split –50 test 행을 기준으로 파일 분할 test_split 파일을 30행씩 나누는 방법 $ cp /ets/group test_split $ wc –l test_split 67 test_split $ split –30 test_split $ wc –l x* 30 xaa 30 xab 7 xac 67 total $ 바이트를 기준으로 파일 분할 test_split 파일을 512바이트씩 분할 512바이트인 파일 xaa와 423바이트인 파일 xab 생성..

반응형