您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

用空字符串替换MSSQL中的所有非数字字符

用空字符串替换MSSQL中的所有非数字字符

一个使用MysqL的简单版本:

SELECT * FROM `phones` WHERE `phone` LIKE '%8%8%8%8%8%8%8%8%8%8%'

使用PHP

// Get all your table rows into $rows using SELECT ..
foreach ($rows as $row) {
    $row['phone'] = preg_replace('/\D/', '', $row['phone'];
    // Save the row using UPDATE ..
}

正则表达式\D匹配任何非数字字符。有关更多信息,请参见php.net/preg_replace。

如果您只想查找与“ 8888888888”匹配的行,则可以使用:

if (preg_match('/\D*8\D*8\D*8\D*8\D*8\D*8\D*8\D*8\D*8\D*8\D*/', $row['phone'])) {
    ..
}

可以简化/抽象为:

$match = '8888888888';
if (preg_match('/' . preg_replace('/(\d)/', '\D*$1', $match) . '\D*/', $row['phone'])) {
    ..
}
SQLServer 2022/1/1 18:34:28 有585人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶