我有一个数据库表mytable,其列名采用 Varchar 格式,列date具有 Datetime 值。我想用按日期分组的某些参数来计算名称。这是我所做的:
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,尽管应该计算所有包含至少一个字母的字段。