我正在我的 PHP 页面上尝试 mysql 查询,但遇到了麻烦。
$sql = 'SELECT calldate, clid, duration FROM cdr';
显示以下值
Date:2014-06-14 19:43:18
CLI: "Name Surname" <5001>
Duration: 67
Date:2014-06-14 19:46:46
CLI: "Name Surname" <5001>
Duration: 43
Date:2014-06-15 12:52:56
CLI: 440012345678
Duration: 9
Date:2014-06-15 13:06:42
CLI: "440012345678" <440012345678>
Duration: 88
和
$sql = 'SELECT calldate, clid, duration FROM cdr WHERE clid REGEXP "^[0-9]+$"';
只显示
Date:2014-06-15 12:52:56
CLI: 440012345678
Duration: 9
我想要匹配以下格式的任何结果 "440012345678"<440012345678> 只是格式,而不是数字。
我应该在查询中添加什么?任何帮助将不胜感激,我对 MYSQL 了解不多
最佳答案
您正在寻找的 SQL 是:
SELECT calldate, clid, duration FROM cdr
WHERE clid REGEXP "^\"[:alnum:]+\"[:blank:]<[:alnum:]+>$"
除了简单的“CLI:440012345678”之外,这将匹配以上所有内容。
关于mysql - 避免在 mysql 选择查询中选择字母表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24899497/