코딩테스트
[Programmers - MySQL ] 흉부외과 또는 일반외과 의사 목록 출력하기
효쨩
2024. 4. 9. 14:18
📚 풀이
SELECT dr_name, dr_id, mcdp_cd, DATE_FORMAT(hire_ymd, '%Y-%m-%d')
FROM doctor
WHERE mcdp_cd IN ('CS', 'GS')
ORDER BY hire_ymd DESC
📚 DATE_FORMAT
DATETIME 타입: YYYY-MM-DD hh:mm:ss
DATE 타입: YYYY-MM-DD
SELECT DATE_FORMAT('19980323', '%y%m%d')→ 980323
SELECT DATE_FORMAT('19980323', '%Y.%m.%d')→ 1998.03.23
SELECT DATE_FORMAT('19980323', '%Y/%m/%d')→ 1998/03/23
SELECT DATE_FORMAT('19980323123000', '%Y.%m.%d %H:%i:%S')→ 1998.03.23 12:30:00
SELECT DATE_FORMAT('19980323123000', '%Y.%m.%d %H:%i:%S %W')→ 1998.03.23 12:30:00 Wednesday
DATE_FORMAT(date,format)
- date문자열 에 따라 값의 형식을 지정
- format 인수 중 하나라도 NULL이면 NULL을 반환
- format 형식 지정자 문자 앞에 문자 %가 필요
| %a | 축약된 요일 이름( Sun.. Sat) |
| %b | 월 이름 약어( Jan.. Dec) |
| %c | 월, 숫자( 0.. 12) |
| %D | 날짜에 영어 접미사( 0th, 1st, 2nd, 3rd, …) 를 붙입니다. |
| %d | 날짜, 숫자( 00.. 31) |
| %e | 날짜, 숫자( 0.. 31) |
| %f | 마이크로초( 000000.. 999999) |
| %H | 시간 ( 00.. 23) |
| %h | 시간 ( 01.. 12) |
| %I | 시간 ( 01.. 12) |
| %i | 분, 숫자( 00.. 59) |
| %j | 연단위 일자 ( 001.. 366) |
| %k | 시간 ( 0.. 23) |
| %l | 시간 ( 1.. 12) |
| %M | 월 ( January.. December) |
| %m | 월, 숫자( 00.. 12) |
| %p | AM또는PM |
| %r | 시간, 12시간( hh:mm:ss다음에 AM또는 PM) |
| %S | 초( 00.. 59) |
| %s | 초( 00.. 59) |
| %T | 시간, 24시간( hh:mm:ss) |
| %U | 주( 00.. 53), 주의 첫 번째 날은 일요일 |
| %u | 주( 00.. 53), 주의 첫 번째 날은 월요일 |
| %V | 주( 01.. 53), 주의 첫 번째 날은 일요일 |
| %v | 주( 01.. 53), 주의 첫 번째 날은 월요일 |
| %W | 요일 이름 ( Sunday.. Saturday) |
| %w | 요일( 0=일요일.. 6=토요일) |
| %X | 일요일이 주의 첫날인 주의 연도, 숫자, 4자리. 함께 사용%V |
| %x | 월요일이 주의 첫 번째 날인 주의 연도, 숫자, 4자리. 함께 사용%v |
| %Y | 연도, 숫자, 4자리 |
| %y | 연도, 숫자(2자리) |
| %% | 문자 그대로의 %문자 |
| %x | x, 위에 나열되지 않은 " x" 의 경우 |