gpt4 book ai didi

带范围的 MySQL LIKE 不起作用

转载 作者:行者123 更新时间:2023-11-29 03:50:42 26 4
gpt4 key购买 nike

我有一个数据库表mytable,其中列name 为Varchar 格式,列date 为日期时间值。我想用按日期分组的某些参数来计算名称。这是我所做的:

SELECT
CAST(t.date AS DATE) AS 'date',
COUNT(*) AS total,
SUM(LENGTH(LTRIM(RTRIM(t.name))) > 4
AND (LOWER(t.name) LIKE '%[a-z]%')) AS 'n'
FROM
mytable t
GROUP BY
CAST(t.date AS DATE)

这里的范围语法似乎有问题,如果我只是执行 LIKE 'a%' 它确实正确地计算了所有以 'a' 开头的字段。但是,上面的查询对于 n 返回 0,尽管应该计算包含至少一个字母的所有字段。

最佳答案

你写:

It seems that there's something wrong with range syntax here

的确如此。 MySQL 的 LIKE 运算符(通常是 SQL)does not support range notation , 只是简单的通配符。

试试MySQL的非标准RLIKE (又名 REGEXP),用于功能更全面的模式匹配。

关于带范围的 MySQL LIKE 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12612580/

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