我不明白上述陈述究竟发生了什么,究竟是什么'%@%'那么1节2结束。
String order = "CASE WHEN "
+ ContactsContract.Contacts.DISPLAY_NAME
+ " NOT LIKE '%@%' THEN 1 ELSE 2 END, "
+ ContactsContract.Contacts.DISPLAY_NAME
+ ", "
+ ContactsContract.CommonDataKinds.Phone.NUMBER
+ " COLLATE NOCASE";
答案 0 :(得分:3)
大小写与if
语句类似,但可以在多个条件下使用:
在您的示例中,它表示:
如果ContactsContract.Contacts.DISPLAY_NAME不是lIKE'%@%'然后返回1 ELSE返回2
关于'%@%': %意味着在这个地方可以有某些字符。 这意味着用户想要选择所有包含' @'的字段。无论是在文本的开头,中间还是结尾都有字符。
答案 1 :(得分:0)
CASE语句就像一个IF语句,如果你想避免使用很多“ELSE”,它会更方便。
%字符是SQLite中的通配符。所以,不喜欢'%@%'表示不包含“@”字符(例如电子邮件地址)。