2012-03-27 103 views

回答

4
查詢中

你可以使用()函數下的字符串爲小寫或上轉換()將字符串轉換爲大寫和修剪()刪除在開頭和結尾過多空間。

您的查詢將是這個樣子

stmt.executeQuery("SELECT (NAME) FROM tablename WHERE LOWER(FULLNAME) LIKE TRIM(LOWER('"+"a string"'))"); 
-1

Incasesensitive搜索可以通過使用SQL語法ucase(FULLNAME)ucase(a.string)你都轉化爲大寫比較

+0

雖然這可能工作,一個更完整的答案也應該提如何處理空白,字符集和歸類。 – 2012-03-27 12:48:25

+0

我絕對和你在一起,馬特!所以我的答案不應該得到任何學分,而應該得到其他學分。 – Daxcode 2012-03-27 17:29:27

+0

爲什麼我會對此產生負面影響? – Daxcode 2012-04-02 14:14:53

1

爲了解決分歧的情況下才可以實現,你可以做

SELECT (NAME) FROM tablename WHERE upper(FULLNAME) LIKE upper('"+"a string'"")) 

你也可以擺脫尾隨空格的使用

TRIM('"+"a string'"") 
0

我不確定但您可以試試這個, SELECT user FROM users WHERE UPPER(user)= UPPER('anand');

1

你可以在MySQL中使用UPPER(),並在應用端,String.toUpperCase();

例如:

stmt.executeQuery("SELECT (NAME) FROM tablename WHERE UPPER(FULLNAME) LIKE '" + a.toUpperCase() +"'"); 
1

要替換字符串中的所有空白(TRIM不替換中間空格),您可以使用REPLACE。像下面這樣的東西應該工作:

SELECT (NAME) FROM tablename 
WHERE lower(replace(FULLNAME,' ','')) LIKE lower(replace(yourstring,' ','')) 

這裏有一個完整的例子:

create table foo (col1 varchar(100)) 

insert into foo (col1) values ('The Dog is sick') 

SELECT col1 FROM foo 
WHERE lower(replace(col1,' ','')) LIKE lower(replace('the doG iss icK',' ','')) 

這將返回:

The Dog is sick 
1
SELECT (NAME) FROM tablename WHERE upper(trim(FULLNAME)) LIKE upper(trim(string))