我有一個表,其中包含名爲ATEST的一個名爲TESTSCHEMA的架構的列,該架構位於名爲SESSION的數據庫中。Derby SELECT語句無法找到特定的字符串
我想查找其ATEST列有一個名爲「MyTest」的字符串的記錄。
我使用下面的SQL:
final String query = "SELECT * FROM SESSIONDATA.SESSIONS WHERE SESSION.TESTSCHEMA.ATEST = 'MyTest'";
現在我已經把幾個記錄,其ATEST列中包含 「MyTest的」。我使用JDBC以通常的方式:
device = aConnect.prepareCall(query);
ResultSet result = device.executeQuery();
需要注意的是,爲了簡潔,儘量因爲我沒有得到任何拋出的異常被省略抓碼。
出於某種原因,我總是得到相當於空的結果集。儘管我在ATEST ='MyTest'的數據庫中有幾條記錄,但我無法得到這條語句來查找任何記錄!
我在德比發現了一個錯誤嗎?沒有WHERE子句的搜索或WHERE子句尋找數字的搜索似乎沒有問題。爲什麼查找字符串的WHERE子句找不到字符串,儘管字符串實際上在數據庫中的fct?
有人請指教。
你可能想嘗試'atest LIKE'%MyTest%''來查看你的值中是否有可能出現空白或類似的東西。 –
我試過你的suggestio。相同的結果... –
然後我不知道。像這樣的錯誤是不太可能的,所以它必須是你的設置中的東西。我會試着用LIKE(比如'%'',然後'比如'M%'',比如'%t',...)來縮小這個範圍。 –