BACKEND/MSSQL
10
MSSQL :: ๋ฐ์ดํฐ ์ ๋ ฌ(COLLATE)
2024.04.25
SQL Server์ ๋ฐ์ดํฐ ์ ๋ ฌ์ ๋ฐ์ดํฐ์ ๋ํ ์ ๋ ฌ ๊ท์น๊ณผ ๋/์๋ฌธ์ ๋ฐ ์
์ผํธ ๊ตฌ๋ถ ์์ฑ์ ์ ๊ณตํ๋ค. ์๋ฒ, DB, ์ด ๋๋ ์์ ๋ฐ์ดํฐ ์ ๋ ฌ์ ์ ํํ๊ฒ ๋๋ฉด ๋ฐ์ดํฐ์ ํน์ ํน์ฑ์ด ํ ๋น๋๊ฒ ๋๋ค. ์ด๋ฐ ํน์ฑ์ ์ฌ๋ฌ DB ์์
์ ๊ฒฐ๊ณผ์ ์ํฅ์ ์ฃผ๋๋ฐ.. ์๋ฅผ ๋ค์ด Order by๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ๋ง๋ ๊ฒฝ์ฐ, ๊ฒฐ๊ณผ ์งํฉ์ ์ ๋ ฌ ์์๋ ์ฟผ๋ฆฌ์ ์ ์์ค์์ Collate ์ ์ ์ง์ ๋๊ฑฐ๋ DB์ ์ ์ฉ๋ ๋ฐ์ดํฐ ์ ๋ ฌ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๊ฒ ๋จ. ์ง์ํ๋ ์ธ์ดSELECT * FROM sys.fn_helpcollations() ์์ ์ฟผ๋ฆฌ๋ก ์ง์ํ๋ ์ธ์ด SET ์ ์ข
๋ฅ๋ฅผ ํ์ธํด๋ณผ ์ ์๋ค. ์ด 5,540๊ฑด. ์ด ์ค Korean์ผ๋ก ์์๋๋ ์ ๋ ฌ ๋ฌธ์์ด์ ๋ํด ์์๋ณด์.!! Korean๊ณผ ๊ด๋ จ๋๋ ์ธ์ดSETSELECT ..
MSSQL :: ํน์ ์ปฌ๋ผ์์ ๋ฐ์ดํฐ ๊ธธ์ด๊ฐ ๊ฐ์ฅ ๊ธด ๋ฌธ์์ด ROW ์ฐพ๊ธฐ
2024.01.11
How select * from ํ
์ด๋ธ๋ช
where len(์ปฌ๋ผ๋ช
) = (select max(len(์ปฌ๋ผ๋ช
)) from ํ
์ด๋ธ๋ช
); Result itemName ์ด ์ ์ผ ๊ธด๊ฑธ ์ฐพ์๋ฌ๋ผ๊ณ ํ์. ๊ฒ์ํ๋๊น ์ ๋ถ ์ค๋ผํด ๊ธฐ์ค ๋ฌธ๋ฒ๋ง ๋์์ ๋ฉ๋ชจํด๋ .
MSSQL :: date format ๋ ์ง ํ์๋ค
2024.01.09
Convert Datetime ๊ณผ ๊ด๋ จ๋ ๊ฒ๋ค.. Date Format ๋ฌธ๋ฒ CONVERT([ํฌ๋งท(ํฌ๊ธฐ)], [๋ ์ง๊ฐ], [๋ณํํ์]) Date Format ์ ๋ ์ง ํ์๋ค SELECT GETDATE()-- 2024-01-09 05:48:47.190 SELECT CONVERT(VARCHAR, GETDATE(), 0)-- Jan 9 2024 5:48AM SELECT CONVERT(VARCHAR, GETDATE(), 1)-- 01/09/24 SELECT CONVERT(VARCHAR, GETDATE(), 2)-- 24.01.09 SELECT CONVERT(VARCHAR, GETDATE(), 3)-- 09/01/24 SELECT CONVERT(VARCHAR, GETDATE(), 4)-- 09.01.24 SELE..
MSSQL :: SET STATISITCS
2024.01.05
์ฟผ๋ฆฌ๋ฅผ ์ง๋ค๋ณด๋ฉด ์ฟผ๋ฆฌ ์ฑ๋ฅ ๋ถ์์ด ํ์ํ ์ผ์ด์ค๊ฐ ์๊ธด๋ค. ๊ทธ๋ ์ฌ์ฉํ๋ ๊ฒ์ด SET STATISTICS. ๊ด๋ จ๋ ์
ํ
์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ๋ค. ์คํ ํต๊ณ ์ ๋ณด์ ๊ด๋ จ๋ IO SET STATISTICS IO ON SET STATISTICS IO OFF Statistics ์ IO ์ต์
์ ์ผ๋ฉด ํต๊ณ ์ ๋ณด๊ฐ ํ์๋๋ค. ์ด๋ฐ ์์ผ๋ก message ์ฐฝ์์ ํ์ธ์ด ๊ฐ๋ฅํ๋ค. ํ์ธํ ์ ์๋ ์ ๋ณด Table ํ
์ด๋ธ ์ ๋ณด Scan Count ์คํ๋ ๊ฒ์ ์ Logical Reads ๋ฆฌ์ ์ฝ๊ธฐ ์. ๋ฐ์ดํฐ ์บ์์์ ์ฝ์ ํ์ด์ง ์. Physical Reads ๋ฌผ๋ฆฌ์ ์ฝ๊ธฐ ์. ๋์คํฌ์์ ์ฝ์ ํ์ด์ง ์. Read-ahead Reads ๋ฏธ๋ฆฌ ์ฝ๊ธฐ ์. ์ฟผ๋ฆฌ์ ๋ํด ์บ์์ ๋ฃ์ด์ง ํ์ด์ง ์ LOB Logical Read..
MSSQL :: ๋ฌธ์์ด ํฌ๊ธฐ ์์ผ๋ก ์ ๋ ฌ
2024.01.03
๋ฌธ์์ด ํฐ ๊ฒ ๋ถํฐ ๋ณด๊ณ ์ถ์ ๋๊ฐ ์๋๋ฐ.. ๊ทธ๋ ์ฌ์ฉํ ์ ์๋ sql ๋ฌธ tip. ๊ธธ์ด๋ฅผ ๊ตฌํ๋ LEN() ํจ์๋ฅผ ์ฌ์ฉํ์! ๋ฌธ๋ฒ SELECT * FROM (ํ
์ด๋ธ๋ช
) ORDER BY LEN(์ปฌ๋ผ๋ช
) DESC ์ฌ์ฉ SELECT * FROM [ADM].[com_Terms] ORDER BY LEN(TermsDesc) DESC -- ํฌ๊ธฐ ํฐ ๊ฒ๋ถํฐ ์ ๋ ฌ SELECT * FROM [ADM].[com_Terms] ORDER BY LEN(TermsDesc) DESC -- ํฌ๊ธฐ ์์ ๊ฒ๋ถํฐ ์ ๋ ฌ
MSSQL :: INSERT ์ฌ๋ฌ ๊ฐ ํ๋ฒ์ ํ๊ธฐ
2024.01.02
INSERT INTO ํ
์ด๋ธ VALUES ('A', 'AA', 27) , ('B', 'BB', 26) , ('C', 'CC', 25) ์์ ํ์์ผ๋ก ๋ฃ์ผ๋ฉด ๋๋๋ฐ.. ์์ ๋ ์๋์ ๊ฐ๋ค. INSERT INTO [ADM].[com_Terms] ( TermsType , TermsId , TermsSeq , LanguageType , TermsDesc , UseYn , CreateUserId , CreateDt , UpdateUserId , UpdateDt ) VALUES( 'TERM' , 'Close' , '1' , 'EN' , 'Close' , 'Y' , 'neeon' , ADM.FN_GETDATE(0) , 'neeon' , ADM.FN_GETDATE(0) ), ( 'TERM' , 'Close' , '1'..
mssql :: SSMS ๋ฐ์/์ ์ ์ ํ ํด๊ฒฐ
2
2023.11.30
SSMS ๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ค ๋ณด๋ฉด ํ๋ฒ์ฉ ๋ฉ๋๋ก ๊ธ์จ์ฒด๊ฐ ๋์์ฐ๊ธฐ ํ ๊ฒ์ฒ๋ผ ๋ํ๋ ๋๊ฐ ์๋ค . . . ์ด๊ฑธ ์ ์/๋ฐ์ ๋ผ๊ณ ํ๋ค๋๋ฐ. . . ๋์ถฉ ์๋์ ๊ฐ์ ํํ๋ก ๊ธ์จ์ฒด๊ฐ ๋ํ๋๊ฒ ๋๋ค S E L E C T * F R O M t a b l e ํด๊ฒฐ ๋ฐฉ๋ฒ 1. ์๋์ฐ ํค > '์ค์ ' ๊ฒ์ > '์๊ฐ ๋ฐ ์ธ์ด' 2. '์ธ์ด ๋ฐ ์ง์ญ' ํด๋ฆญ 3. ํ๊ตญ์ด์ '...' ํด๋ฆญํ์ฌ '์ธ์ด ์ต์
' ์ ํ 4. Microsoft ์
๋ ฅ๊ธฐ > ... ํด๋ฆญ > 'ํค๋ณด๋ ์ต์
' ์ ํ 5. 'ํธํ์ฑ'์ '์ด์ ๋ฒ์ ์ Microsoft IME' ๋ฅผ '์ผฌ' ์ผ๋ก ๋ณ๊ฒฝ
SQL :: ์์ N๊ฐ ๋ฐ์ดํฐ ์ถ๋ ฅํ๊ธฐ (mssql, oracle, mysql)
2023.09.14
1. MSSQL SELECT TOP 100 name, age, dept from [table๋ช
]; 2. ORACLE SELECT name, age, dept from [table๋ช
] where rownum
MSSQL :: CTE ๋?
2023.08.25
CTE (Common Table Expression: ๊ณตํต ํ
์ด๋ธ ์) - ๊ธฐ์กด์ ๋ทฐ, ํ์ ํ
์ด๋ธ, ์์ ํ
์ด๋ธ ๋ฑ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ์ ๋์ ํ ์ ์์ผ๋ฉฐ, ๋ ๊ฐ๊ฒฐํ ์์ผ๋ก ๋ณด์ฌ์ง๋ ์ฅ์ ์ ๊ฐ์ง - ์ค์ ๋ก CTE๋ผ๋ ํค์๋๊ฐ ์ฝ๋ ์์ ๋ค์ด๊ฐ์ง๋ ์๊ณ , WITH ๊ตฌ๋ฌธ์ ์ด์ฉํจ. - SELECT๋ฌธ์ ๋ฏธ๋ฆฌ ์ ์ํ์ฌ ์ด๋ฆ์ ๋ถ์ธ ํ, ์ด์ด์ง๋ ์ฟผ๋ฆฌ์์ ํ
์ด๋ธ์ฒ๋ผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ - CTE๋ ๋ฐ๋ก ๋ค์์ ์ค๋ select์ ์๋ง ํด๋น CTE๋ฅผ ์ด์ฉํ ์ ์์. - ๋ชฉ์ ์ ๋ฐ๋ผ ๋น์ฌ๊ท์ CTE, ์ฌ๊ท CTE๋ก ๋๋ ์ ์์. ์ฌ๊ท CTE - ์ต์ด CTE๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ์คํ๋์ด ์ ์ฒด ๊ฒฐ๊ณผ ์งํฉ์ ์ป์ ๋๊น์ง ๋ฐ์ดํฐ์ ํ์ ์งํฉ์ ๋ฐํํ๋ CTE - ๊ณ์ธต์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋จ - (**) ์ฌ๊ท CTE..
MSSQL :: ์ผ๋ฐ์ ์ธ ํ์์ ๋ฐ์ดํฐ๋ฅผ ๊น์ด ๊ฐ์ ์ถ๊ฐํ์ฌ ํ๊ธฐ
2023.08.24
BEFORE ๋๊ฐ ์์ ๊ฐ์ raw data ๊ฐ ์๋ค. ๋๋ front-back ์๋จ ๊ฐ๊ณต์ ํตํด์ ํธ๋ฆฌ ํํ์ ๋ฐ์ดํฐ์ ๋๋ฌํ์ฌ์ผ ํ๋ค. ์ด๋ฐ ๋ชจ์์ด ๋์ด์ผ ํ๋ค. AFTER ํ๋ก ํธ ๋จ์์ mui treeview ๋ฅผ ์ธ๊ฑฐ๊ธด ํ์ง๋ง.. ์ฐ์ ์ด๋ป๊ฒ ๋ ์ง ๋ชฐ๋ผ level ๊ณผ display_number, PID(Parents ID)๋ฅผ ์ฑ๋ฒํ๋ ํ์์ผ๋ก ๋ฐ๊ฟ๋์๋ค. json ์ผ๋ก parent-child ํ์์ผ๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๋ฒ ์คํธ์ด๊ฒ ์ง๋ง, mssql ์ ์ด๋ค ์์ผ๋ก ์ฃผ๋ฌผ๋ฌ์ผ ๊ทธ๋ ๊ฒ ์์ฑ๋๋ ์ง ์ฌ์ค ์ ๋ชจ๋ฅด๊ฒ ๋ค.. ์ฐพ์๋ด๋ ์จํต ํ๋์ฝ๋ฉ ํ๋ ๊ฒ ๋ฟ์ด๊ณ , (์ฝ 3000๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ํ๋์ฝ๋ฉ?) ์ฌ๊ท๋ฅผ ์ฐ๋๋ผ๋ ID ๊ฐ ์ฑ๋ฒ๋์ด ์๋ ์ํ์์ parentID ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค. ๊ณ ๋ก ๊ฐ๊ณต์ ํ๋ฒ ..