[SQL] 어떤 "특별한"문자는 SQL 서버 VARCHAR 필드에 사용할 수 있습니다? [닫은]
SQL어떤 "특별한"문자는 SQL 서버 VARCHAR 필드에 사용할 수 있습니다? [닫은]
어디에서 모두가 "특별한"문자는 SQL Server에서 VARCHAR 또는 문자 필드에 허용 볼 수 있습니까?
해결법
-
==============================
1.당신은 아마 그냥 ASCII 및 확장 ASCII 문자 세트를 참조 할 필요가있다. 지금까지 내가 이들의 알고있는 숯불 / VARCHAR 필드에 사용할 수 있습니다.
당신은 아마 그냥 ASCII 및 확장 ASCII 문자 세트를 참조 할 필요가있다. 지금까지 내가 이들의 알고있는 숯불 / VARCHAR 필드에 사용할 수 있습니다.
당신이 NCHAR 사용하는 경우 / NVARCHAR 다음은 세계에서 유니 코드 세트의 거의 모든 문자가 있습니다.
-
==============================
2.의견에 따라 편집 :
의견에 따라 편집 :
당신이 당신의 결과 집합의 줄 바꿈이 그들을 제거하려는 경우, 귀하의 요청이 길을 :
SELECT REPLACE(REPLACE(YourColumn1,CHAR(13),' '),CHAR(10),' ') ,REPLACE(REPLACE(YourColumn2,CHAR(13),' '),CHAR(10),' ') ,REPLACE(REPLACE(YourColumn3,CHAR(13),' '),CHAR(10),' ') --^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --only add the above code to strings that are having line breaks, not to numbers or dates FROM YourTable... WHERE ...
이 공백 문자로 모든 줄 바꿈을 대체합니다.
() (모든 문자는 문자 허용 "GET")와 VARCHAR이 실행 :
;WITH AllNumbers AS ( SELECT 1 AS Number UNION ALL SELECT Number+1 FROM AllNumbers WHERE Number+1<256 ) SELECT Number AS ASCII_Value,CHAR(Number) AS ASCII_Char FROM AllNumbers OPTION (MAXRECURSION 256)
산출:
ASCII_Value ASCII_Char ----------- ---------- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 128 € 129 130 ‚ 131 ƒ 132 „ 133 … 134 † 135 ‡ 136 ˆ 137 ‰ 138 Š 139 ‹ 140 Œ 141 142 Ž 143 144 145 ‘ 146 ’ 147 “ 148 ” 149 • 150 – 151 — 152 ˜ 153 ™ 154 š 155 › 156 œ 157 158 ž 159 Ÿ 160 161 ¡ 162 ¢ 163 £ 164 ¤ 165 ¥ 166 ¦ 167 § 168 ¨ 169 © 170 ª 171 « 172 ¬ 173 174 ® 175 ¯ 176 ° 177 ± 178 ² 179 ³ 180 ´ 181 µ 182 ¶ 183 · 184 ¸ 185 ¹ 186 º 187 » 188 ¼ 189 ½ 190 ¾ 191 ¿ 192 À 193 Á 194  195 à 196 Ä 197 Å 198 Æ 199 Ç 200 È 201 É 202 Ê 203 Ë 204 Ì 205 Í 206 Î 207 Ï 208 Ð 209 Ñ 210 Ò 211 Ó 212 Ô 213 Õ 214 Ö 215 × 216 Ø 217 Ù 218 Ú 219 Û 220 Ü 221 Ý 222 Þ 223 ß 224 à 225 á 226 â 227 ã 228 ä 229 å 230 æ 231 ç 232 è 233 é 234 ê 235 ë 236 ì 237 í 238 î 239 ï 240 ð 241 ñ 242 ò 243 ó 244 ô 245 õ 246 ö 247 ÷ 248 ø 249 ù 250 ú 251 û 252 ü 253 ý 254 þ 255 ÿ (255 row(s) affected)
-
==============================
3.포함 된 VARCHAR 또는 CHAR 컬럼에 저장 될 수있는 특정 문자는 열 정렬에 따라 다릅니다. 여러 다른 데이터 정렬을 위해 당신이 표시됩니다 스크립트 여기 내 대답을 참조하십시오.
포함 된 VARCHAR 또는 CHAR 컬럼에 저장 될 수있는 특정 문자는 열 정렬에 따라 다릅니다. 여러 다른 데이터 정렬을 위해 당신이 표시됩니다 스크립트 여기 내 대답을 참조하십시오.
특정 ASCII 범위 밖의 모든 문자를 찾으려면 여기 내 대답을 참조하십시오.
-
==============================
4.난 특수 문자 # 및 있다고 생각 @ 만 ... 쿼리가 모두 나열됩니다.
난 특수 문자 # 및 있다고 생각 @ 만 ... 쿼리가 모두 나열됩니다.
DECLARE @str VARCHAR(50) SET @str = '[azAB09ram#reddy@wer45' + CHAR(5) + 'a~b$' SELECT DISTINCT poschar FROM MASTER..spt_values S CROSS APPLY (SELECT SUBSTRING(@str,NUMBER,1) AS poschar) t WHERE NUMBER > 0 AND NUMBER <= LEN(@str) AND NOT (ASCII(t.poschar) BETWEEN 65 AND 90 OR ASCII(t.poschar) BETWEEN 97 AND 122 OR ASCII(t.poschar) BETWEEN 48 AND 57)
from https://stackoverflow.com/questions/7038213/which-special-characters-are-allowed-in-sql-server-varchar-fields by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] "경우가 존재 삽입 또는 업데이트"SqlBulkCopy의 할 수있는 방법? (0) | 2020.04.26 |
---|---|
[SQL] SQL 문자열 비교보다 적은 사업자보다 큰 (0) | 2020.04.26 |
[SQL] 하나 개의 결과 집합의 열에 CONCATENATE 두 개의 데이터베이스 열 (0) | 2020.04.25 |
[SQL] SQL Server의 조건에 따라 카운트 (0) | 2020.04.25 |
[SQL] SQL 쿼리의 새로운 라인 (0) | 2020.04.25 |