是否可以构建输入为5102的select查询并在sqlite数据库中找到值5.102?
|Value1 | value2 | value3 | Text |
--------------------------------
|5.102 | 6.102 | 7.102 | Text1 |
|5.103 | 6.103 | 7.103 | Text2 |
|51.02 | 61.02 | 71.02 | Text3 |
用户搜索5102 返回
5.102 Text1
51.02 Text3
答案 0 :(得分:3)
如果我理解你的问题,一个解决方案可能是使用replace语句预先选择值,然后对该表执行查询。
SELECT *
FROM (
select *, replace(value1, '.', '') as changed_value1 from your_table
) AS P
WHERE P.changed_value1 = '5102'
P
是一个包含所有初始值的表格,加上changed_value1
,这是一个没有点的value1
。
当你对某个字段执行替换时,sqlite会自动将它强制转换为字符串,即使该值代表一个int,因此也就是数字中的引号。
答案 1 :(得分:0)
| Value1 | value2 | value3 |文字| DecimalPlaceHolderPosition
现在在应用程序中使用Value1&组合DecimalPlaceHolderPosition表示为十进制数。通过这个你的应用程序将保存从SQL复杂处理,如转换为字符串和删除点或使用正则表达式操作等。
现在您需要简单的搜索查询
“select * from tbl,其中Value1 = 5102 group by Value1”
Arfan Mirza