Se memorizzo intenzionalmente spazi finali in una colonna VARCHAR
, come posso forzare SQL Server a visualizzare i dati come mancata corrispondenza?Come posso rendere SQL Server restituire FALSE per confrontare varchars con e senza spazi finali?
SELECT 'foo' WHERE 'bar' = 'bar '
ho provato:
SELECT 'foo' WHERE LEN('bar') = LEN('bar ')
Un metodo che ho visto galleggiato è quello di aggiungere un carattere specifico alla fine di ogni stringa poi striscia di nuovo fuori per la mia presentazione ... ma questo sembra piuttosto stupido.
C'è un metodo che ho trascurato?
Ho notato che esso non si applica a leader spazi così forse ho eseguito una funzione che inverte l'ordine carattere prima del confronto .... problema è che questo rende la query unSARGable ....
Confronta anche la lunghezza? – SteveCav
Come ho detto, confronto la lunghezza con gli stessi risultati. – Matthew
L'ho incontrato l'altro giorno e l'unica cosa che ho trovato è stata la stringa append. –