3

大量のテキスト全体でドルの値を見つけるように求められました。ドル記号で検索できますか? もしそうなら、どんな例/ガイダンスも大歓迎です。現在のクエリ...

select * from concept where concept_description like '%$%';
4

2 に答える 2

3

LOCATEcol 値に$例が含まれているかどうかを確認するために使用することができます

   SELECT * FROM concept WHERE LOCATE('$', concept_description) > 0;
于 2012-10-23T17:35:45.900 に答える
1

与えられたクエリは、をconcept_description含む行を選択します$が、実際に金額を引き出したいと思いますか?フィールドに1ドルの金額しかない場合は、次を使用して引き出すことができます。

SELECT
SUBSTRING(
    concept_description,
    LOCATE('$', concept_description),
    LOCATE(' ', concept_description, LOCATE('$', concept_description)) - LOCATE('$', concept_description)
)
FROM table
WHERE LOCATE('$', concept_description) > 0

これは、ドルの金額の後に常にスペースが続くことを前提としており、インデックスを少し混乱させる必要があるかもしれません。単純なクエリでフィールド全体を引き出してから、正規表現を使用して任意のドル値を取得するのがおそらく最善です。

于 2012-10-23T17:41:15.507 に答える