Cute Blinking Unicorn

서버/DB

MYSQL 23번 부터 32번까지

민밥통 2023. 10. 27. 14:40
-- 10/27 수업 연습
-- 나눈 나머지 값 출력하기(MOD)
SELECT MOD(10, 3) as "나눈값"
FROM DUAL;

-- 숫자를 버리고 출력하기(truncate)
SELECT 98.1106 , truncate(98.1106, 4)
FROM DUAL;

-- 반올림ROUND float 실수형으로 만들어서 해야함 정수로는 반올림이 적용이 안됨
-- 반올림해서 출력하기(ROUND)
SELECT 98.1106, ROUND(98.1106, 3)
FROM DUAL;

반올림 시 테이블 컬럼을 만들 때 실수형으로 만들어서 반올림 해야한다.  

 

 

 


날짜 함수


https://www.google.com/search?q=mysql+%EB%82%A0%EC%A7%9C%ED%95%A8%EC%88%98&oq=mysql+%EB%82%A0%EC%A7%9C%ED%95%A8%EC%88%98&gs_lcrp=EgZjaHJvbWUyBggAEEUYOdIBCDU0NDhqMGo3qAIAsAIA&sourceid=chrome&ie=UTF-8

 

🔎 mysql 날짜함수: Google 검색

 

www.google.com

https://oneul-losnue.tistory.com/123

 

[MySQL] MySQL 날짜 관련 함수 총정리

Date Functions 날짜 관련 함수 날짜와 시간의 형식화 DATE_FORMAT(date, format) - 주어진 date를 format에 맞춰 문자열로 반환 SELECT DATE_FORMAT(hiredate, '%Y-%m-%d') FROM emp; -- YYYY-mm-dd SELECT DATE_FORMAT(hiredate, '%Y-%m-%d %T'

oneul-losnue.tistory.com

 

-- 날짜 간 개월 수 출력하기 (DATEDIFF)
SELECT MGMT_Customerinformation, DATEDIFF(MGMT_Actualdeposit, MGMT_Incorrectdepositmanagement)
FROM Collectionmanagement;
'2023-09-20','2023-09-21' -1
'2023-09-26','2023-09-25' 1
-- 개월 수 더한 날짜 출력하기(date_add interval)
SELECT date_add('2019-05-01', interval 100 DAY)
FROM DUAL;

책이랑 좀 달라서 이렇게 치면 잘 나온당!

SELECT date_add('2019-05-01', interval 100 DAY

100일 뒤에는 날짜가 언제 인지 나오는 것.

결과 2019-08-09
-- 개월 후의 날짜를 출력함(period_add)
SELECT period_add(201905, 15)
FROM DUAL;

15개월 후의 날짜를 출력하는 쿼리 

결과 202008
-- 특정 날짜 뒤에 오는 요일 날짜 출력하기 (NEXT_DAY)
SELECT '2019/05/22' AS 날짜,
       DATE_ADD('2019/05/22', INTERVAL (9 - DAYOFWEEK('2019/05/22')) DAY) AS 다음_월요일
FROM DUAL;


-- 다양한 숫자
SELECT '2023-11-01' AS 날짜,
       DATE_ADD('2023-11-01', INTERVAL (9 - DAYOFWEEK('2023-11-01')) DAY) AS 다음_월요일
FROM DUAL;
결과값
날짜 다음 월요일
2023-11-01 2023-11-06
-- 특정 날짜가 있는 달의 마지막 날짜 출력하기 (LAST_DAY)
SELECT LAST_DAY("2017-6-20")
FROM DUAL;
 결과값
2017-06-30

 

 

 


문자형으로 데이터 유형 변환


-- 문자형으로 데이터 유형 변환하기 (TO_CHAR)
SELECT MGMT_Customerinformation, DATE_FORMAT(MGMT_Expecteddepositdate, '%Y,%m') AS 월급
FROM Collectionmanagement
WHERE MGMT_Customerinformation = '신한은행';

이게 안돼서 위에 확인 하면서 고쳐야 할듯..ㅠㅠ 어렵네요

SELECT MGMT_Customerinformation, DATE_FORMAT(MGMT_Actualdeposit, '%Y,%m') AS 년달
FROM Collectionmanagement
WHERE MGMT_Customerinformation = '신한은행';
 결과
이름 년, 달
신한은행  2023,09
신한은행 2023,09

-- 암시적 형 변환 이해하기 
SELECT Order_item, Order_quantity
FROM purchaseorder
WHERE Order_quantity = '600';
600
600
돼지족 600
돼지족 600