Clausola Like

martedì 20 dicembre 2005 - 18.58

PEPE Profilo | Senior Member

Salve ragazzi, forse questo post è una ripetizione ma non credo sia di facile difficoltà se è stato gia risolto :D.
Allora dofrei effettuare una query con un parametro che ho chiamato @VALUE.

La query è impostata in questo modo:
SELECT * FROM ElApparecchiature WHERE valore LIKE @VALUE

Tutto cio' non funge :D. Se io metto invece
SELECT * FROM ElApparecchiature WHERE valore LIKE 'nome%'
tutto funziona regolarmente.

Come si puo' tradurre con parametri una query con il like.
Grazie 1000,
Luca.

totti240282 Profilo | Guru

poi devi assegnare un valore al parametro

parametro.value="%valore%"

C'è solo un capitano !!!!!!

lbenaglia Profilo | Guru

>La query è impostata in questo modo:
>SELECT * FROM ElApparecchiature WHERE valore LIKE @VALUE
>
>Tutto cio' non funge :D. Se io metto invece
>SELECT * FROM ElApparecchiature WHERE valore LIKE 'nome%'
>tutto funziona regolarmente.
>
>Come si puo' tradurre con parametri una query con il like.

Ciao Luca,

a me sembra molto strano quello che affermi.
Il seguente esempio funziona alla perfezione:

USE Northwind
GO

DECLARE @Parametro nvarchar(10);
SET @Parametro = N'Maria%';

SELECT CustomerID, CompanyName, ContactName
FROM dbo.Customers
WHERE ContactName LIKE @Parametro;
GO

/* Output:

CustomerID CompanyName ContactName
---------- ---------------------------------------- ------------------------------
ALFKI Alfreds Futterkiste Maria Anders
FOLKO Folk och fä HB Maria Larsson

(2 row(s) affected)

*/

SELECT CustomerID, CompanyName, ContactName
FROM dbo.Customers
WHERE ContactName LIKE N'Maria%';
GO

/* Output:

CustomerID CompanyName ContactName
---------- ---------------------------------------- ------------------------------
ALFKI Alfreds Futterkiste Maria Anders
FOLKO Folk och fä HB Maria Larsson

(2 row(s) affected)

*/

Come vedi le due query sono equivalenti.

>Grazie 1000,
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

PEPE Profilo | Senior Member

Ora finalmente tutto funziona alla perfezione.

Quello che sbagliavo era semplicemente nell'assegnazione del valore al parametro. Io credevo che trattandosi di un parametro l'istruzione ...LIKE @VALORE dove valore era 'luca' utilizzasse come standard '%luca%'.

Aho!!! Ho preteso troppo :P.

Cmq grazie a tutti per l'aiuto.

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5