SQLite模式匹配(显示不包含)

时间:2017-03-18 10:47:02

标签: sql sqlite pattern-matching sql-like

通常,模式匹配是在“查询文本字符串的搜索数据库列”的基础上完成的 - 即......

<?xml version="1.0" encoding="utf-8"?>


<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/activity_main"
   android:layout_width="match_parent"
   android:layout_height="100dp"
   android:background="#FF4081"
   android:orientation="vertical">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="1st Line !" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="2nd line !"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="3rd line !" />

</LinearLayout>
</ScrollView>

...假设我想在DB中找到匹配的字符串。

然而,现在我想以相反的方式做到这一点:

DB string “A BMW is a fancy car”
Query string “BMW”
SQL: “SELECT car FROM cars WHERE car LIKE ‘%BMW%’;

而不是说“db CONTAIN 我的查询字符串中的字符串”我想说“我的查询字符串中的数据库 APPEAR 中的字符串”。

1 个答案:

答案 0 :(得分:2)

您可以通过将%连接到db列来反转条件,然后使用它来匹配查询字符串,如下所示:

SELECT car FROM cars WHERE 'A BMW is a fancy car' like '%' || car || '%';