๐ฃ๏ธ ์ง๋ ๊ณผ์ ํผ๋๋ฐฑ
๊ทธ๋ฃน ๊ณผ์ โก 1์ฐจ ์์ ๋ณธ ํผ๋๋ฐฑ
[1์กฐ]
- ์ด๋ ค์ด ๊ทธ๋ํ๋ ๋ณด๊ณ ์์ ์ถ๊ฐํ์ฌ ์ด ๊ทธ๋ํ๊ฐ ๋ญ๊ณ ์ ํ์ํ์ง๋ถํฐ ์ค๋ช ํด์ผ ํจ
[2์กฐ]
- ๋์๋ณด๋ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํ ์ค๋ช ํ์
- ๋ฆฌ๋ทฐ soso์ ๋ํ ๋ฑ๊ธ ๊ธฐ์ค ์ค๋ช ํ์
- ์ฐ๋๋ณ๋ณด๋ค๋ ๋ถ๊ธฐ๋ณ ํน์ ๋ฌ๋ณ
[3์กฐ]
- ๋๋ฌธ์ ์๋ฌธ์ ํต์ผ
- ๋ฃธ ์์ ๋ํ ์ ์ํ๊ฐ ํ์ํจ
- ๋ฆฌ๋ทฐ ์ ์์ ๋ํ ์ ์ํ๊ฐ ํ์ํจ
๐ ์ค๋์ ํ์ต
ํ๋ธ๋ก ๊ฐ์
์ ๋์จ
- ์ ๋์จ์ ์กฐ์ธ๊ณผ ๋ฌ๋ฆฌ ์ปฌ๋ผ์ด ๋ชจ๋ ๋์ผํด์ผ ๊ฐ๋ฅ
- ์ ๋์ธ : ์ค๋ณต ์ ์ธํ๊ณ ๋ค ๋ถ์ด๊ธฐ
- ์ ๋์จ ALL : ์ค๋ณต ์๋๋ผ๋ ๋ค ๋ถ์ด๊ธฐ
์กฐ์ธ
- ํ์ฌ์์๋ inner ์กฐ์ธ์ ๋ฐ์ดํฐ ์ ์ค ๊ฐ๋ฅ์ฑ์ผ๋ก ์ ์ฐ์ด์ง ์์
- ์ ์ผ ๋ง์ด ์ฐ์ด๋ ๊ฑด left ์กฐ์ธ
- ๋์ผ ์ปฌ๋ผ์ด ์ฌ๋ฌ๊ฐ์ผ ๊ฒฝ์ฐ ๋ชจ๋ ์กฐ์ธ ์กฐ๊ฑด์ ํฌํจ์์ผ์ผ ํจ (ํน์ groupby๋ก ์ปฌ๋ผ์ ๋ชจ๋ ๊ทธ๋ฃจํ์์ผ์ผํจ)
ํผํฉ๊ด๊ณ ํธ์ง
- ์ปฌ๋ผ๋ช ์ ๋ค๋ฅด๋๋ผ๋ ์ปฌ๋ผ ๋ด ๋์ผํ ๋ฐ์ดํฐ๊ฐ ํ๋๋ผ๋ ์์ด์ผ ํ๋ค!
๋์๋ณด๋ tip
- ๋๊ตฌ์ค๋ช ์ ๊ทธ๋ํ → ๋ณด์ถฉ ์ค๋ช ํ ์ ์๋ ํ ์ด๋ธ์ ๋ฃ์
- ๋์๋ณด๋ ํ๋จ ํน์ ์๋จ : ๋ฐ์ดํฐ ์๋ณธ ์ด๋ฆ, ๋ฐ์ดํฐ ํ ์ด๋ธ ์ ๋ฐ์ดํธ ์๊ฐ
- ์ธ๋ฉด๋นํ ๋๋น, ํ ์ด๋ธ์ ์ด์ฉํ๋ฉด ๋งํ ๋์๋ณด๋๋ฅผ ๋ง๋ ๊ฑฐ์
๋ ์งํ ์ฐ์ต
1. DATEADD(date_part, interval, date)
date ์ date_part ๋จ์์ interval์ ๋ํจ
ex) DATEADD('year', 2, #2021–08–02#)=2023–08–02 12:00:00AM
2. DATEDIFF(date_part, date1, date2, [start_of_week])
date1(์์์ผ)๊ณผ date2(์ข
๋ฃ์ผ) ์ฌ์ด์ ๊ฐ๊ฒฉ์ date_part ๋จ์๋ก ๊ตฌํจ
์ด๋ [start_of_week]๋ ์ ํ์ฌํญ์ด๋ฉฐ, 'sunday' ๋ก ์ง์ ์, ์ผ์์ผ์ด ์ฃผ์ ์ฒซ๋ฒ์งธ ์์ผ๋ก ๊ณ ๋ คํจ
ex) DATEDIFF('week', #2021–08–04#,#2021–08–07#)=0
ex) DATEDIFF('week', #2021–08–04#,#2021–08–07#, 'saturday')=1
์์ ์์๋ ์์์ผ์ ์ฃผ์ ์ฒซ ๋ฒ์งธ ์์ผ๋ก ๊ณ ๋ คํ ๊ฒ -> 4์ผ(์)์ 8์ผ(์ผ)์ ๊ฐ์ ์ฃผ->0
์๋์ ์์๋ ํ ์์ผ์ ์ฃผ์ ์ฒซ ๋ฒ์งธ ์์ผ๋ก ๊ณ ๋ คํ ๊ฒ-> ์์์ผ๊ณผ ํ ์์ผ์ ๋ค๋ฅธ ์ฃผ-> 1
3. DATENAME(date_part, date, [start_of_week])
date์ date_part๋ฅผ ๋ฌธ์์ด๋ก ๋ฐํ
DATENAME('month', #2021–08–04#) = "August"
4. DATEPART(date_part,date,[start_of_week]
date์ date_part๋ฅผ ์ ์ํ์ผ๋ก ๋ฐํ
DATENAME('month', #2021–08–04#) = 8
5. DATEPARSE(date_format, [date_string])
date_string(๋ฌธ์์ด)์ date_format์ ํํ(๋ ์งํ)๋ก ๋ฐํ
ํ์ฑ ์งํ!!!!
ex) DATEPARSE('MMMM dd, YY', 'August 04, 21').
ex) left(str(DATEPARSE('MMMM dd, YY', 'August 04, 21')),10) =2021–08–04
6. DATERUNC(date_part, date, [start_of_week])
date ๊ธฐ์ค date๊ฐ ์ํ date-part ์ ์ฒซ์งธ ๋ ๋ฐํ
ex) DATRUNC('quarter',#2021–08–04#)= 2021–07–01.
ex) DATRUNC('month',#2021–08–04#)= 2021–08–01
7. ISDATE(string)
string(๋ฌธ์์ด)์ด ์ ํจํ ๋ ์ง๋ฉด true ๋ฐํ
ex) ISDATE('August 4,2021')=true
8. MAKETIME(hour, minute, second) ์,๋ถ,์ด๋ก ๊ตฌ์ฑ๋ ๋ ์ง๊ฐ ๋ฐํ
ex) MAKETIME(16,24,00) = #16:24:00# -> #์ฒ์์๋ ๋ํดํธ๊ฐ ๋
๋,๋ฌ,์ผ + ์๊ฐ ๋์ด. ์ฐ ํด๋ฆญ ์ ํํ ๋ ์ง ์ ํ ์ ์๊ฐ๋ง ๋ณด์ด์ง๋ง ์ธก์ ๊ฐ์ผ๋ก ๋ณํจ + ์ปดํจํฐ๋ง๋ค ์ธ์ ๋ค๋ฆ.. ์ ๋๋ ๊ฒฝ์ฐ๋ ๋ค๋ฐ์ฌ
9. MAX(expr1, expr2)
a์ b์ ์ต๋๊ฐ ๋ฐํ(๋์ผํ ์ ํ์ด์ด์ผ ํจ, ๋ ์ค ํ๋๋ผ๋ Null ์ด๋ฉด Null ๋ฐํ)
ex) MAX('2021–01–01' ,'2021–03–01') = 2021–03–01 12:00:00 AM
or '2021-01-01' ๋ถ๋ถ์ด ์์ date ํ์์ด์ด์ผ ๊ฐ๋ฅ
10. MIN(expr1, expr2)
a์ b์ ์ต์๊ฐ ๋ฐํ(๋์ผํ ์ ํ์ด์ด์ผ ํจ, ๋ ์ค ํ๋๋ผ๋ Null ์ด๋ฉด Null ๋ฐํ)
ex) MIN('2021–01–01' ,'2021–03–01') = 2021–01–01 12:00:00 AM
or '2021-01-01' ๋ถ๋ถ์ด ์์ date ํ์์ด๋ฉด ๊ฐ๋ฅ
11. YEAR(date)
์ฃผ์ด์ง ๋ ์ง์ ์ฐ๋๋ฅผ ์ ์๋ก ๋ฐํ
ex)YEAR(#2021–08–15#) = 2021
12. MONTH(date)
์ฃผ์ด์ง ๋ ์ง๋ฅผ ์์ ์ ์๋ก ๋ฐํ
ex) MONTH(#2021–08–15#) = 8
13. WEEK(date)
date์ ๋ ์ง ์ฃผ๋ฅผ ์ ์๋ก ๋ฐํ
ex) WEEK(#2021–04–15#)=16
14. DAY(date)
date์ ๋ ์ง ์ผ์ ์ ์๋ก ๋ฐํ
ex) DAY(#2021–08–04#)=4
15. QUARTER(date)
date์ ๋ถ๊ธฐ๋ฅผ ์ ์๋ก ๋ฐํ
ex) QUARTER(#2021–08–04#)=3
16. TODAY()
ํ์ฌ ๋ ์ง ๋ฐํ
TODAY()=2021–08–15
๐ป ์ค๋์ ๊ณผ์
๊ทธ๋ฃน ๊ณผ์ : Airbnb ๋ด์์ง์ฌ์ฅ์๊ฒ ์ปจ์คํ ๋ด์ฉ์ ๋ณด๊ณ ํ์ !
· ๋ณด๊ณ ์ ๊ตฌ์ฑ(2์ฅ)
โ ๋ชฉํ(๋ณธ์ง)
โก ํํฉ
โข ๋์๋ณด๋์์ ์ถ๊ฐ์ ์ธ ์ค๋ช ์ด ํ์ํ ์ฐจํธ
· ๋์๋ณด๋ ์ต์ข ์์
โ ๋ถํ์ํ ์ฐจํธ ์ญ์ → ๋งต ์ฐจํธ๋ก ๋ณ๊ฒฝํ์ฌ ํํฐ ์ ์ฉ ์ง๊ด์ ์ผ๋ก !
โก ๋ฆฌ๋ทฐ soso ๋ฑ๊ธ ์ค ๊ตฌ๋ถ ๊ธฐ์ค์ ๊ฐ๊ฒฉ์์ ๋ฆฌ๋ทฐ ๊ฐ์๋ก ๋ณ๊ฒฝ → ๋ฆฌ๋ทฐ ์ ๋ขฐ๋ ๊ตฌ๋ถ !
'STARTERS 4๊ธฐ > [STARTERS] TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[STARTERS 4๊ธฐ TIL] #31์ผ์ฐจ(23.03.21) (0) | 2023.03.21 |
---|---|
[STARTERS 4๊ธฐ TIL] #30์ผ์ฐจ(23.03.20) (0) | 2023.03.21 |
[STARTERS 4๊ธฐ TIL] #27์ผ์ฐจ(23.03.15) (0) | 2023.03.15 |
[STARTERS 4๊ธฐ TIL] #26์ผ์ฐจ(23.03.14) (0) | 2023.03.15 |
[STARTERS 4๊ธฐ TIL] #25์ผ์ฐจ(23.03.13) (0) | 2023.03.15 |