gpt4 book ai didi

Mysql "like"返回意外结果

转载 作者:行者123 更新时间:2023-11-29 09:25:50 24 4
gpt4 key购买 nike

我正在创建一个 MySQL 查询来获取仅包含指定字符串的所有表的大小。

我正在使用下面的代码:

SELECT
TABLE_NAME AS `Table`,
(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024)) AS `Size (MB)`
FROM information_schema.TABLES
WHERE TABLE_SCHEMA ='Servername' AND
(TABLE_NAME LIKE '%log_%' OR TABLE_NAME LIKE '%_log%')
GROUP BY TABLE_SCHEMA
ORDER BY TABLE_SCHEMA;

Expected Output
--------------------
Table Size (MB)
--------------------
login_log 10.0005
log_login 00.8800

Resulting Output
--------------------
Table Size (MB)
--------------------
login_log 10.0005
login 05.000
log_login 00.8800

在上面的结果中,login表不是必需的,但 MySQL 正在返回它。如何避免这种情况以仅获取包含指定字符串的表?

最佳答案

您的下划线_也充当通配符,表示任何字符。

您可以通过使用反斜杠字符 \ 在 SQL 语句中转义下划线来修复此问题:

(TABLE_NAME LIKE '%log\_%' OR TABLE_NAME LIKE '%\_log%')

关于Mysql "like"返回意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59623799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com