在MySql语句中测试字段长度

时间:2013-05-25 22:39:03

标签: mysql drupal

我正在使用sql语句的这一部分来删除cronjob.php文件中具有特定电话号码的帐户。如何更改此语句以测试用户profies中特定给定字段的长度,而不是我在此列出的值LIKE '%2147483648%'

$strSQL = "DELETE
            FROM users,
                 profile_values
           USING profile_values 
           INNER JOIN users USING(uid) 
           INNER JOIN profile_fields USING(fid)
           WHERE profile_values.uid=users.uid 
             AND profile_values.value LIKE '%2147483648%' 
             AND (profile_fields.name = 'profile_phone_number')";
execSQL($strSQL);

1 个答案:

答案 0 :(得分:4)

如果您要测试字段中数据的长度,可以使用以下代码:

... WHERE LENGTH(TRIM(profile_values.value)) = 10 ...

替换正确的字段名称。 TRIM函数对于消除可能已经悄悄进入数据的任何前导或尾随空格非常重要。

小心使用此类功能自动删除用户。这将是非常不分青红皂白的。