Domanda

Lo trovo piuttosto strano su Microsoft SQL Server:

SELECT * FROM deliveries WHERE code LIKE '01999195000%'
-- 9 rows returned. Works.

DECLARE @a VARCHAR(10)
SET @a='01999195000%'
SELECT * FROM deliveries WHERE code LIKE @a
-- 0 rows returned? Why not?

SET @a = '01999195000'
SELECT * FROM deliveries WHERE code LIKE @a + '%'
-- 9 rows returned. Works.

Ciò che è diverso tra la ricerca di @a che comprende il carattere%, e uno che non lo fa, ma ha '%' aggiunto?

Se qualcuno di voi di SQL Guru potrebbe condividere i tuoi pensieri, che sarebbe grande.

È stato utile?

Soluzione

E 'perché avete definito @a come VARCHAR (10), ma è provato a mettere 12 caratteri in esso ... che significa la "%" si perde dalla fine

Altri suggerimenti

DECLARE @a VARCHAR (10) è la risposta. @a mai contiene il%.

COME è un carattere jolly, che significa "qualcosa che ti piace qui".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top