我有一个表,其中包含名为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',...)来缩小这个范围。 –