2012-03-07 86 views
0

您好我最近的工作在哪裏我應該從數據庫中獲取數據,而不管單詞之間存在空格數即如何查詢數據庫來不論Retrive存在於數據庫記錄

如果應用空間數據從應用程序到數據庫的輸入字符串是「ChennaiCampus」[沒有任何空間]但數據庫中的實際值爲「Chennai Campus」[WITH WITHBINDEN的一個或多個空間]仍應能夠檢索它。使用下面的查詢

SELECT CAMPUS_ID距離校園

目前蔭WHERE CAMPUS_NAME =?

哪裏?表示應用程序在運行時提供的值。

+1

注意,所有提供的答案至今不會使用你可能對任何指數的' CAMPUS_NAME'欄。如果有大量數據集,您的查詢可能不會很高效。你可以通過創建一個基於函數的索引來減輕這一點,該索引刪除了CAMPUS表中CAMPUS_NAME列的空格。 – Ollie 2012-03-07 11:16:10

回答

0
SELECT CAMPUS_ID FROM CAMPUS WHERE replace(CAMPUS_NAME,' ','') = replace(?,' ','') 
0

這使得雙方甚至空間:

SELECT CAMPUS_ID FROM CAMPUS 
WHERE replace(CAMPUS_NAME,' ','') = replace(?,' ','') 
0

試試這個:

SELECT CAMPUS_ID 
    FROM CAMPUS 
    WHERE replace(CAMPUS_NAME,' ','') = replace(:parameter,' ','') ;