Ho una stored procedure che utilizza l'operatore LIKE
per cercare una posizione camion tra alcuni altri parametriUtilizzando operatore LIKE con stored procedure parametri
@location nchar(20),
@time time,
@date date
AS
select
DonationsTruck.VechileId, Phone, Location, [Date], [Time]
from
Vechile, DonationsTruck
where
Vechile.VechileId = DonationsTruck.VechileId
and (((Location like '%'[email protected]+'%') or (Location like '%'[email protected]) or (Location like @location+'%')) or [Date][email protected] or [Time] = @time)
ho nullo gli altri parametri e solo cercare attraverso il luogo, ma sempre non restituisce risultati anche quando ho utilizzato il nome completo della posizione
per gestire correttamente i valori NULL è necessario controllare per esso in modo esplicito, ad esempio, '([Date] = @Date o @Date è NULL)'. A proposito, devi solo controllare '%' + @location + '%' ', gli altri due test di localizzazione sono ridondanti. – HABO
[Cattive abitudini da calciare: utilizzando JOIN vecchio stile] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins. aspx) - quello stile vecchio * comma di tabelle tabelle separate * stile è stato interrotto con ANSI - ** 92 ** SQL Standard (più di ** 20 anni ** fa) –