当前位置: 首页 > 面试题库 >

具有范围的MySQL LIKE无法正常工作

吕胤
2023-03-14
问题内容

我有一个数据库表 mytable ,它的列 名称 为Varchar格式,列 日期
为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,尽管应该计算包含至少一个字母的所有字段。


问题答案:

你写:

似乎这里的范围语法有问题

的确如此。MySQL的LIKE运算符(通常是
SQL)不支持范围表示法,仅支持简单的通配符。

尝试使用MySQL的非标准RLIKE(aka
REGEXP),以实现更全面的模式匹配。



 类似资料:
  • 问题内容: 1.背景 我的Maven项目中有很多模块和子模块,并且和一切正常。我也可以毫无问题地将其部署在服务器上。 我决定遵循此Maven命名转换,我正在进行一些测试,并使用一个适当的名称。 我为根工件定义的模式是,以及为模块和子模块创建的模式是: 公司任何工件任何模块1 公司-任何工件-任何模块2-任何子模块1 公司-任何工件-任何模块2-任何子模块2 的模式是: 公司任何人工制品任何模块1-

  • 问题内容: 最近,我开始在Node.js上将MongoDB与Mongoose结合使用。 当我将Model.find方法与条件和字段一起使用时,猫鼬无法正常工作。 这不起作用: 顺便说一句,如果我删除了’_id’部分,这确实可行! 在MongoDB Shell中,两者都可以正常工作。 问题答案: 我通过谷歌搜索解决了这个问题:

  • 问题内容: 我每天都使用TimedRotatingFileHandler记录Django日志并轮换使用,但是检查日志文件,奇怪的问题是昨天的日志被截断了,今天的日志很少,昨天的日志丢失了! Django 1.4 uwsgi 1.4.9 Python 2.6 我从uwsgi开始8个django实例。setting.py是 我错过了什么?为什么旧的日志丢失了? 问题答案: 您不应该同时从多个进程登录到

  • 问题内容: 我正在尝试使用node-imagemagick库调整图像的大小,但无法正常工作。 我用来调整大小的代码是 引发错误 问题答案: 在Windows上,您还需要安装imagemagick exe。nodejs imagemagick库只是imagemagick exe的包装器。因此,只有安装了imagemagick exe并转换并标识可执行文件在路径中后,它才能起作用。

  • 问题内容: 我在linux ubuntu 17.10上运行代码 此代码返回“无限” 但是每当我从终端运行命令时,我都会得到1024。 为什么这些数字不同? 问题答案: 如果从命令行运行相同的命令,则会得到相同的结果: 这是因为仅查看紧随其后的参数。的不是此参数的一部分,并且被代替而不是分配作为位置参数()。 要运行,需要成为该参数的一部分: 换句话说,您应该使用:

  • 问题内容: 因此,我的设置无法按我想要的方式工作。因此,每当我运行该程序时,它就会立即从0变为100。我尝试使用,任务,并尝试了,但没有任何尝试。 这是我的程序: @MadProgrammer这是我尝试做一名摆动工作人员并将每个名称写入文档并更新进度栏的尝试。该程序将达到86%左右并停止运行,永远不会创建完成的文档。该程序将创建一个空白文档。这是我首先创建的SwingWorker对象,这是两种方法