avevo bisogno di fare questo in modo da poter permettere a due database diversi in un filtro per la colonna DatabaseName
in un modello di traccia di SQL Server Profiler.
Tutto quello che puoi fare è compilare il corpo di una clausola Like
.
Utilizzando il riferimento in John Hartscock's answer, ho scoperto che la clausola like utilizza una sorta di modello di regex limitato.
Per lo scenario dell'OP, MSMS has the solution.
Supponendo che voglio database Abcone, ABCTwo e ABCThree, vengo con ciò che è essenzialmente whitelist indipendenti per ogni personaggio:
Like ABC[OTT][NWH][EOR]%
che è facilmente estendibile a qualsiasi insieme di stringhe. Non sarà corazzato, l'ultimo modello corrisponderebbe anche a ABCOwe, ABCTnr o ABCOneHippotamus, ma se stai filtrando un insieme limitato di valori possibili ci sono buone possibilità che tu possa farlo funzionare.
In alternativa, è possibile utilizzare l'operatore [^]
per presentare una lista nera di caratteri non accettabili.
Tu ** sai ** che l'uso di un'operazione simile a "% A1%" 'disabiliterà definitivamente qualsiasi utilizzo dell'indice e determinerà quindi una ** scansione completa della tabella ** ** ogni volta ... –