id typeid area
1 1 浦东,卢湾,闵行,黄浦
2 2 浦东
3 1 浦东,闵行,黄浦
4 1 卢湾,黄浦
5 1 徐汇请看上表。有一字段area的内容有几个地区。如:浦东,卢湾,闵行,黄浦
我要查询数据库。这个字段里有这四个区其中一个区或多个的记录怎么写SQL我用正则实现可是结果不对,
select * from area where typeid=1 and area regexp replace("浦东,卢湾,闵行,黄浦",",","|")
1 1 浦东,卢湾,闵行,黄浦
2 2 浦东
3 1 浦东,闵行,黄浦
4 1 卢湾,黄浦
5 1 徐汇请看上表。有一字段area的内容有几个地区。如:浦东,卢湾,闵行,黄浦
我要查询数据库。这个字段里有这四个区其中一个区或多个的记录怎么写SQL我用正则实现可是结果不对,
select * from area where typeid=1 and area regexp replace("浦东,卢湾,闵行,黄浦",",","|")
這樣試下
select * from area where typeid=1 and area regexp replace("浦东,卢湾,闵行,黄浦",",","|")调试后发现area是空的或者内容比关键字多是读不出结果.郁闷.
如果是的話mysql有內置函數FIND_IN_SET專門查詢逗號分割的,測試過無問題。
SELECT * FROM area WHERE typeid=1 AND FIND_IN_SET('浦东',area)