반응형
안녕하세요, SSMS로 작업을 하다보면 csv파일로 데이터를 발송시키는 경우가 있습니다.
엑셀에서 기본 설정된 값으로 인해 데이터가 훼손되어 보여지는 경우가 있습니다.
제가 주로 하는작업에선 사이즈 표시를 할때가 있는데 000 사이즈가 있고 00 사이즈가 있고 0 사이즈가 있습니다.
이때, CSV 파일로 데이터를 뽑아내게되면 000 그리고 00 사이즈들이 모두 0으로 표시가 됩니다.
분명히 똑같은 문제를 겪고있거나 겪었을 분들을 위해 공유합니다.
방법은 간단한데, ASCII 코드를 이용합니다.
아스키코드표
번호 | 코드 | 번호 | 코드 | 번호 | 코드 |
33 | ! | 64 | @ | 95 | _ |
34 | " | 65 | A | 96 | ` |
35 | # | 66 | B | 97 | a |
36 | $ | 67 | C | 98 | b |
37 | % | 68 | D | 99 | c |
38 | & | 69 | E | 100 | d |
39 | ' | 70 | F | 101 | e |
40 | ( | 71 | G | 102 | f |
41 | ) | 72 | H | 103 | g |
42 | * | 73 | I | 104 | h |
43 | + | 74 | J | 105 | i |
44 | , | 75 | K | 106 | j |
45 | - | 76 | L | 107 | k |
46 | . | 77 | M | 108 | l |
47 | / | 78 | N | 109 | m |
48 | 0 | 79 | O | 110 | n |
49 | 1 | 80 | P | 111 | o |
50 | 2 | 81 | Q | 112 | p |
51 | 3 | 82 | R | 113 | q |
52 | 4 | 83 | S | 114 | r |
53 | 5 | 84 | T | 115 | s |
54 | 6 | 85 | U | 116 | t |
55 | 7 | 86 | V | 117 | u |
56 | 8 | 87 | W | 118 | v |
57 | 9 | 88 | X | 119 | w |
58 | : | 89 | Y | 120 | x |
59 | ; | 90 | Z | 121 | y |
60 | < | 91 | [ | 122 | z |
61 | = | 92 | \ | 123 | { |
62 | > | 93 | ] | 124 | | |
63 | ? | 94 | ^ | 125 | } |
아스키코드를 이용해서 실제 데이터 앞뒤로 쌍따옴표(") 또는 따옴표(')를 붙여줘 데이터를 보존하면 됩니다.
1. 따옴표 사용
Select char(39) + size + char(39) from clothes // char(39) = '
윗 값을 엑셀에서 확인하면 '00 ' 또는 '00' 등 size에 해당하는 값이 따옴표 사이에 보이게 됩니다.
2. 쌍따옴표 사용
Select Char(34) + size + Char(34) from clothes // CHAR(34) = "
윗 값을 엑셀에서 확인하면 "00" 또는 "00 " 등과 같이 보이게 됩니다.
하지만 엑셀에서 따옴표 또는 쌍따옴표를 보기 싫으실거라 판단됩니다.
이때에 활용 할 수 있는 방법이 있는데, 앞에 = 을 붙여주시면 됩니다.
Select CHAR(61) + CHAR(34) + size + CHAR(34) from clothes;
이렇게 사용하게 되면 엑셀에서는 아래처럼 보여지게 됩니다.
반응형
'Database > MSSQL' 카테고리의 다른 글
[MSSQL] 날짜(date) 관련 함수 (26) | 2024.02.15 |
---|---|
[MSSQL] Union (32) | 2024.02.13 |
[MSSQL] With 문 (39) | 2024.02.08 |
[MSSQL] Pivot (36) | 2024.02.08 |
MSSQL - SSMS 활용하여 데이터 메일로 받기 (0) | 2023.12.30 |