我目前很困惑在使用数据库中的select时如何为long值设置通配符。目前我有:
preparedstatement= conn.prepareStatement("SELECT * FROM database WHERE LONGVALUES LIKE ? ");
preparedstatement.setLong(1, aLongValue);
我目前很困惑如何使用外卡来获得我想要的结果。我想要选择的是来自该数据库的所有值,其LONGVALUES
列包含数字aLongValue
。因此,如果52
位于数据库中,则输入5
或2
会选择它。
答案 0 :(得分:1)
您无法对数值进行LIKE
。它必须是一个字符串,因此您应该使LONGVALUES
为VARCHAR字段,或者使用标量函数将值转换为符合的字符串,即
SELECT * FROM database WHERE TO_CHAR(LONGVALUES) LIKE ?;
答案 1 :(得分:-1)
要使用LIKE,你的aLongValue应该是一个varchar,那么你可以运行一个...其中longvalues如'%5%'