¿Dónde puedo ver todos los caracteres "especiales" admisibles en un campo varchar
o char
en SQL Server?¿Qué caracteres "especiales" están permitidos en los campos varchar de SQL Server?
Respuesta
Probablemente sólo hay que ver los ASCII
y EXTENDED ASCII
conjuntos de caracteres. Por lo que sé, cualquiera de estos están permitidos en un campo char
/varchar
.
Si usa nchar
/nvarchar
, es prácticamente cualquier carácter en cualquier conjunto Unicode del mundo.
¿qué tipo de datos se recomienda guardar la información correcta de copia? por ej. "© 2014 mi empresa" – Hitesh
Al comentar sobre un hilo demasiado viejo, pero no soy capaz de almacenar estos datos - "Banarescu" en un campo nvarchar/varchar/texto. ¿Alguna idea? – Nitesh
@Nitesh necesita más información. ¿Qué error está recibiendo? – JNK
EDITAR basado en los comentarios:
Si tiene saltos de línea en el conjunto de resultados y desea eliminarlos, hacer su consulta de esta manera:
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 ...
Esto reemplazará todos los saltos de línea con un espacio charact er.
Ejecutar este a "obtener" todos los caracteres permitidos en un char() y 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)
SALIDA:
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)
¡Un pequeño CTE +1 genial! – ConstantineK
creo que los caracteres especiales son # y @ solamente. .. query mostrará una lista de ambos.
DECLARE @str VARCHAR(50)
SET @str = '[azAB09ram#[email protected]' + 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)
Los caracteres específicos que se pueden almacenar en una columna varchar
o char
dependen de la intercalación de columna. Consulte my answer here para obtener una secuencia de comandos que le mostrará estos para las diferentes colaciones diferentes.
Si usted quiere encontrar todos los caracteres ASCII fuera de un rango determinado see my answer here.
- 1. ¿Qué caracteres especiales están permitidos en el nombre de la columna T-SQL?
- 2. ¿Qué caracteres están permitidos en los identificadores de Perl?
- 3. ¿Qué caracteres están permitidos para los operadores de Haskell?
- 4. ¿Qué caracteres están permitidos en un nombre de atributo HTML?
- 5. SQL Server VARCHAR (10)
- 6. Escapar caracteres especiales en SQL
- 7. ¿Eliminar caracteres especiales en SQL sin bucle?
- 8. ¿Qué caracteres inusuales además de $ están permitidos en los identificadores de JavaScript?
- 9. ¿Qué caracteres NO están permitidos en los nombres de campo MongoDB?
- 10. Los caracteres especiales (y MooTools) están arruinando mi vida
- 11. HTTP URL - caracteres permitidos en los nombres de los parámetros
- 12. ¿Por qué SQL Server CE no es compatible con varchar?
- 13. Convertir varchar en datetime en SQL Server
- 14. Indexar varchar en MS SQL Server 2005
- 15. ¿Qué caracteres están permitidos en el atributo Nombre de HTML dentro de la etiqueta de entrada?
- 16. VARCHAR (MAX) vs TEXT en SQL Server
- 17. La forma más rápida de eliminar caracteres no numéricos de un VARCHAR en SQL Server
- 18. Convertir varchar a UNIQUEIDENTIFIER en SQL Server
- 19. ¿Qué caracteres Unicode están permitidos en las etiquetas de host IDN?
- 20. ¿Qué caracteres están permitidos en una clave de Google App Engine?
- 21. ¿Escape los caracteres especiales en RegEx?
- 22. Tamaño máximo de varchar (max) en SQL Server 2000
- 23. Caracteres especiales en los selectores CSS
- 24. son caracteres # o & permitidos en xml?
- 25. ¿Cómo puedo escapar de los caracteres especiales en MySQL?
- 26. SQL Server xml cadena de análisis en el campo varchar
- 27. Nombre de la aplicación del iPhone (trampolín y destino) Lista de caracteres especiales permitidos
- 28. consulta SQL para encontrar filas con caracteres especiales sólo
- 29. varchar (max) MS SQL Server 2000, ¿problemas?
- 30. Almacenamiento de comillas simples en variable varchar SQL Server 2008
¿qué quiere decir? –
Exportación el conjunto de resultados de mi consulta en excel, y hay un salto de fila en la hoja de cálculo, hay algún carácter especial como la nueva línea que los causa. –
newline no es un personaje particularmente especial ... –