QuoteName no da resultado
Frecuentes
Visto 339 veces
1
estoy probando este codigo
CREATE TABLE #t
(
nam Varchar(100)
)
INSERT INTO #t(nam)VALUES('abc[]def')
SELECT * FROM #t Where Quotename(nam) like Quotename('abc[]def')
drop table #t
y no me da ningún resultado... ¿Me estoy perdiendo algo?
2 Respuestas
1
CREATE TABLE #t
(
nam Varchar(100)
);
INSERT INTO #t(nam)VALUES('abc[]def');
SELECT * FROM #t Where Quotename(nam) = Quotename('abc[]def');
drop table #t;
No devuelve nada porque Brackets [ ]
se conocen como alfabetos comodín con LIKE
. El conjunto de caracteres especificado entre paréntesis comodín que coincidirá con cualquier carácter en la posición especificada (la ubicación del comodín).
http://msdn.microsoft.com/en-us/library/ms179859.aspx
Abra el enlace y busque el siguiente texto.
Uso de los caracteres comodín [ ]
contestado el 23 de mayo de 12 a las 14:05
1
No necesitas el nombre de la cita que necesitas escapar
CREATE TABLE #t
(
nam VARCHAR(100)
)
INSERT INTO #t(nam) VALUES('abc[]def')
SELECT *
FROM #t
WHERE nam LIKE 'abc\[]def' ESCAPE '\'
DROP TABLE #t
contestado el 22 de mayo de 12 a las 16:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas sql-server sql-server-2008 sql-server-2005 or haz tu propia pregunta.
No use
LIKE
cuando conoces la cadena exacta.SELECT * FROM #t Where nam = 'abc[]def'
funciona perfectamente. - fancyPants