我也保存了呀

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2021-05-13 10:54:07

同学你好,这边测试是可以找到的,如:

http://img1.sycdn.imooc.com//climg/609c94700919e05e03920259.jpg

这个可能和MySQL版本有关,问一下同学的MySQL版本是多少,如果是5的版本,建议使用如下语句查询:

SELECT ename,comm,sal
FROM t_emp WHERE comm IS NOT NULL
AND sal BETWEEN 1000 AND 3000
AND  HEX(ename) REGEXP "e[4-9][0-9a-f]{4}";

祝学习愉快~

  • MYsql 8.0.20 为啥啊 我一个字都没错 还是显示不出来

    2021-05-13 15:11:55
  • http://img1.sycdn.imooc.com//climg/609cd5fa0929511019201048.jpg你看我前面加个not 就出来了 是不是意味着 后面的​"^[\\u4e00-\\u9fa5]{2,4}$"部分 匹配不到 所以为啥视频里 是可以的呢??正则表达格式应该没问题 也没语法错误 但是 条件不对 是啥情况

    2021-05-13 15:33:40
  • 同学你好,怀疑可能是“陈浩”这个名字中存在非汉字的字符。例如:

    陈浩名字后边有空格,

    http://img1.sycdn.imooc.com//climg/609ce9cb0947864104730025.jpg

    查询时查询不到,如:

    http://img1.sycdn.imooc.com//climg/609cea5409cb295804130256.jpg

    ​去掉后就能查询到。

    建议同学查看是否存在空格,如果有,删除空格再试试。

    祝学习愉快~

    2021-05-13 17:00:23
好帮手慕小尤 2021-05-12 17:35:15

同学你好,1、sql条件中是查询comm值为null的数据,则建议同学将陈浩的数据中comm字段修改为null。如下所示:

http://img1.sycdn.imooc.com//climg/609b9f8909fb9b5c07850453.jpg

2、BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。语法为:BETWEEN....AND... 

    ​综上所示,在同学反馈的sql语句中将BETWEEN 1000-3000 AND ename REGEXP "^[\\u4e00-\\u9fa5]{2,4}$";当做一个整体了进行解析了,从而导致未查询到数据。则建议同学修改代码。如下所示:

http://img1.sycdn.imooc.com//climg/609ba0c0090e987d04170091.jpg

​SELECT ename,comm,sal
FROM t_emp WHERE comm IS NULL
AND sal BETWEEN 1000 and 3000
AND ename REGEXP "^[\\u4e00-\\u9fa5]{2,4}$";

注:关于代码部分的内容,建议同学下次以复制粘贴的方式进行反馈,便于老师测试代码(sql)。

祝学习愉快!

  • SELECT ename , comm,sal

    FROM t_emp WHERE comm IS NOT NULL

    AND sal BETWEEN 1000 AND 3000

    AND ename REGEXP "^[\\u4e00-\\u9fa5]{2,4}$"; 

     可是这样 依然 http://img1.sycdn.imooc.com//climg/609be1fb09b7b00303430106.jpg

    2021-05-12 22:11:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师