header-img
Info :
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 ..
list_img
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..
list_img
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'..
list_img
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..
list_img
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 ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ณ ๋กœ ๊ฐ€๊ณต์„ ํ•œ๋ฒˆ ..