最新消息:iOS编程开发交流群(6906921) ,Mac.Cocoa开发交流群(7758675) 欢迎iOS/macOS开发编程爱好及学习者加入!

iOS开发之SQLite按数字字符串大小排序

iOS 天狐 11779浏览 0评论

最近弄了下iOS的CallKit,进行来电识别。addIdentificationEntryWithNextSequentialPhoneNumber 方法进行添加电话号。

我们知道,sql排序一个order by asc/desc即可。

but,当你把数字 比如手机号和电话号以text方式存入数据库,再order by,顺序并不是按照数字大小排序。

原因是因为字段虽然存储了数字值,但是它是一个字符型,而字符型的 电话开头的'2'等字符都 比手机的开头字符 '1'要大 。因为是从第一个字母开始比较的。

所以解决办法:

1.更改表结构,更改类型为int、integer

2.更改sql结构。  "select * from Contact order by mobile+0 asc";

后边加个0,强转成int比较即可。

转载请注明:天狐博客 » iOS开发之SQLite按数字字符串大小排序

微信 OR 支付宝 扫描二维码
为天狐 打赏
非常感谢你的支持,哥会继续努力!
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址