2011-09-16 18 views
7

Mam tabelę o nazwie "KEYWORDS" z kolumną o nazwie "ENTRY" VARCHAR (10). Czy byłoby możliwe pobranie tylko małych pozycji z tej tabeli?Zapytanie T-SQL, które zwraca małą literę Wyniki Tylko

Na przykład, tabela może wyglądać tak:

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

I chciałbym, aby móc uruchomić kwerendę, która wygląda podobnie do:

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

gdzie wynikiem powyższego byłby: searchstring

I jeśli można to zrobić, chciałbym móc odzyskać tylko pozycje ProperCase. Jest to hostowana baza danych SQL Server 2005 na serwerze GoDaddy.com, więc nie wiem zbyt wiele na temat jej konfiguracji. Nie masz uprawnień, aby uruchomić Exec sp_help DatabaseName

będę odwoływać tej strony: http://blog.sqlauthority.com/2007/04/30/case-sensitive-sql-query-search/ co było interesujące, aby przeczytać, ponieważ jej podobna do tego, co szukam, ale różni się tym, że osoba prowadząca zapytanie wie co oni szukają.

Chciałbym WSZYSTKIE wpisy małymi literami.

Odpowiedz

12

Spróbuj tego:

where Entry COLLATE Latin1_General_CS_AS = Lower(entry) 
+2

ładniejsza niż moja odpowiedź i prawdopodobnie szybszy dotyk –

+0

Dziękuję. To działa bardzo dobrze. – ONDEV

3

To działa ...

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

dziękuję. To działa jednak @Ramy ma krótszą wersję, ale dzięki! – ONDEV

0

Poniższa pracował dla mnie w SSMS 2012. Użyłem dolnej, która została podana wyżej, ale nie COLLATE.

select Lower(varchar or text) from Table 

moja krzywa uczenia się z SQL umarł trochę, ale wciąż się uczę dużo.

+1

to nie jest poprawne - zmusi to zawartość zwróconą do małej litery - nawet jeśli nie zostały zapisane jako małe litery. OP szukał zapisów zapisanych jako małe litery. – Ramy

+0

Mogłem źle to zrozumieć. Sądziłem, że wynik musi być pisany małymi literami, bez względu na to, o jakie dane chodziło. wybierz niższy (nagrywanie) z TableName –

Powiązane problemy