MySQL搜索" $" (美元符号)失败了?

时间:2012-10-23 17:20:51

标签: mysql special-characters

被要求在大量文本中找到美元价值。可以在美元符号上执行搜索吗?如果是这样,任何示例/指导都将非常受欢迎。当前查询...

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

2 个答案:

答案 0 :(得分:3)

您可能希望使用LOCATE来查看col值是否包含$,例如

   SELECT * FROM concept WHERE LOCATE('$', concept_description) > 0;

答案 1 :(得分:1)

给出的查询将选择concept_description包含$的行,但我假设您要实际提取美元金额?如果一个字段中只有一美元金额,可以使用

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

这假设美元金额后面总是跟一个空格,可能需要对索引进行一些捏造。最好用简单的查询拉出整个字段,然后使用正则表达式来获取任何美元值。