SQL Server

Consultas de SQL con Like y caracteres especiales

Cuando se tienen valores en columnas de una tabla y dichos valores contienen caracteres especiales tales como  %  _  [   ]  si se realizan consultas con el estatuto like entonces se podrĂ­an presentar problemas para poder realizar consultas.

//Para ilustrarlo primero creemos una tabla ejemplo

USE [Testing]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[TablaDescripciones](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Descripcion] [varchar](50) NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

//Insertamos valores en esa tabla

INSERT INTO [Testing].[dbo].[TablaDescripciones]
           ([Descripcion])
     VALUES
           ('[descripcion con caracteres]%')
GO

//Si se hace la siguiente consulta no se obtienen los resultados

//esperados

select * from [TablaDescripciones] where [Descripcion] like '[descripcion con caracteres]%'

 

//Para obtener los resultados adecuados hay que cambiar

//el transact SQL para incluir el estatuto ESCAPE

select * from [TablaDescripciones] where [Descripcion] like '|[descripcion con caracteres]%' escape '|'

 

Saludos,

Eduardo Castro - Costa Rica

http://comunidadwindows.org

Posted: Jan 07 2009, 05:24 PM by ecastro | with no comments
Filed under:

Comments

No Comments