2011-09-16 15 views
7

Ho una tabella denominata "KEYWORDS" con una colonna denominata "ENTRY" di VARCHAR (10). Sarebbe possibile recuperare solo le voci minuscole da quella tabella?Query T-SQL restituita minuscola Risultati solo

Ad esempio, la tabella potrebbe assomigliare a questo:

ENTRY 
=========== 
SearchString 
Searchstring 
searchstring 
SEARCHSTRING 

e vorrei essere in grado di eseguire una query che è simile a:

SELECT ENTRY FROM KEYWORDS WHERE ENTRY <condition to retun only the lowercase entry> 

in cui il risultato di quanto sopra sarebbe: searchstring

E se ciò può essere fatto, quindi mi piacerebbe essere in grado di recuperare solo le voci ProperCase successiva. Questo è un database di SQL Server 2005 ospitato su GoDaddy.com hosting quindi non so molto su come è configurato. Non ho il permesso di eseguire EXEC sp_help NomeDatabase

farò riferimento a questa pagina: http://blog.sqlauthority.com/2007/04/30/case-sensitive-sql-query-search/ che era interessante da leggere perché il suo simile a quello che sto cercando, ma differente in quanto la persona che esegue la query sa che cosa stanno cercando.

Vorrei TUTTE le voci che sono in minuscolo.

risposta

12

Prova questo:

where Entry COLLATE Latin1_General_CS_AS = Lower(entry) 
+2

più bello della mia risposta e probabilmente un tocco più veloce –

+0

Grazie. Funziona molto bene. – ONDEV

3

Questo funziona ...

create table #t (entry varchar(10)) 
insert #t values ('hello'), ('Hello'), ('HELLO') 

select * from #t where cast(entry as varbinary(max)) = cast(LOWER(entry) as varbinary(max)) 

/* 
entry 
---------- 
hello 
*/ 
+0

grazie. Questo funziona comunque @Ramy ha una versione più corta ma grazie! – ONDEV

0

Il seguito ha lavorato per me in SSMS 2012. Ho usato il Basso che è stato postato sopra, ma non il COLLATE.

la mia curva di apprendimento con SQL è un po 'morta ma sto ancora imparando molto.

+1

questo non è correntemente corretto - questo costringerà il contenuto restituito a essere minuscolo - anche se non sono stati salvati come minuscole. L'OP cercava i record memorizzati come minuscole. – Ramy

+0

Forse ho frainteso. Ho pensato che il risultato doveva essere minuscolo, indipendentemente dai dati che venivano interrogati. selezionare inferiore (record) da TableName –

Problemi correlati