天天看點

regexp 變量問題

mysql> select TABLE_NAME from information_schema.tables where TABLE_SCHEMA='test' and TABLE_NAME regexp @m3;        

+-------------+

| TABLE_NAME  |

| user_201112 |

1 row in set (0.00 sec)

mysql> select TABLE_NAME from information_schema.tables where TABLE_SCHEMA='test' and TABLE_NAME regexp @m2;

| user_201201 |

mysql> 

這樣都可以。

mysql> select TABLE_NAME from information_schema.tables where TABLE_SCHEMA='test' and TABLE_NAME regexp @m3|@m2;

Empty set (0.00 sec)

這樣就不行了。

換成字元,又可以了。

mysql> select TABLE_NAME from information_schema.tables where TABLE_SCHEMA='test' and TABLE_NAME regexp '201201|201112';

2 rows in set (0.00 sec)

已解決。

mysql> select TABLE_NAME from information_schema.tables where TABLE_SCHEMA='test' and TABLE_NAME regexp BINARY concat(@m3,'|',@m2,'|',@m1);

| user_201202 |

3 rows in set (0.00 sec)

本文轉自 liang3391 51CTO部落格,原文連結:http://blog.51cto.com/liang3391/817572