zoukankan      html  css  js  c++  java
  • 【群答疑20210525-3】MySQL限制时间是当前月,或者月区间查询

    群问题:finebi里写sql  怎么限制时间是当前月  或者几月到几月

     经过确认,是MySQL

    先抛出网上例子

     本地环境验证:

    1、查询当月数据 (date字段为varchar类型)

     2、月份区间(create_time字段为varchar类型)后面改了字段名

     月份区间,方法2

     查看字段类型,desc 表名;

     

     如果是datetime类型,方法1:月区间直接比较 left截取

     

    如果是datetime类型,方法2:月区间间接比较 year 和month函数

     

    中间涉及所有练习代码

    -- SELECT * from TestUsers1 WHERE name like 'user_8%' ;
    
    -- UPDATE TestUsers1
    --   SET date=NOW()
    --   WHERE name like 'user_8%';
    
    -- UPDATE TestUsers1
    --   SET create_time='2021-04-26 19:00:00'
    --   WHERE name = 'user_129Yu6z4';
    -- UPDATE TestUsers1
    --   SET create_time='2021-01-26 19:00:00'
    --   WHERE name = 'user_12vV5aQG';    
    -- UPDATE TestUsers1
    --   SET create_time='2021-03-26 19:00:00'
    --   WHERE name = 'user_12VoT0mp';    
    -- UPDATE TestUsers1
    --   SET create_time='2021-02-26 19:00:00'
    --   WHERE name = 'user_12rFuaD0';    
    -- SELECT str_to_date(create_time,'%Y-%m-%d') from TestUsers1 ;    
    
    SELECT * from TestUsers1 
    WHERE DATE_FORMAT(create_time, '%Y-%m') BETWEEN '2021-01' and  '2021-04';
    
    SELECT * from TestUsers1 
    WHERE DATE_FORMAT(create_time, '%Y-%m') = '2021-02';
    
    
    SELECT * from TestUsers1 
    WHERE left(create_time, 7) BETWEEN '2021-01' and  '2021-04';
    
    desc TestUsers1;
    
    SELECT * from TestUsers1 WHERE name ='user_129Yu6z4';
    SELECT * from TestUsers1 WHERE name in ('user_129Yu6z4','user_12vV5aQG','user_12VoT0mp','user_12rFuaD0');
    
    UPDATE TestUsers1
      SET create_time='2021-05-26 19:00:00'
      WHERE name = 'user_12vV5aQG';    
    
    SELECT * from TestUsers1 WHERE name like 'user_12%' ;
    
    -- desc TestUsers1;
    
    -- alter  table TestUsers1 change date create_time varchar(25) ; 
    
    -- CREATE TABLE TestUsers2 LIKE TestUsers1;
    -- INSERT INTO TestUsers2 SELECT * FROM TestUsers1;
    -- SELECT * FROM TestUsers2;
    
    select DISTINCT CHAR_LENGTH(create_time) from TestUsers1;
    
    -- 修改为datetime
    ALTER TABLE TestUsers1 MODIFY create_time datetime;
    
    SELECT * from TestUsers1 
    WHERE left(create_time, 7) BETWEEN '2021-01' and  '2021-04';
    
    SELECT * from TestUsers1 
    WHERE year(create_time)=2021 and month(create_time) BETWEEN 1 and 4;
    ------------------------------- ********厚德达理,励志勤工******** -------------------------------
  • 相关阅读:
    ural 1818 Fair Fishermen
    2013ACM-ICPC杭州赛区全国邀请赛总结
    成为程序界的叶问,你需要打败这十个人
    在互联网时代,你是消费者还是创造者?
    别让好想法埋没:如何进行APP开发?
    从无到有:学习程序开发的四个步骤
    BAT三家互联网公司哪家更注重用户体验?
    Stack Overflow大揭密:哪一种程序员工资最高?
    web产品浏览器兼容性问题你有考虑到吗?
    响应式网页设计:互联网web产品RWD概念
  • 原文地址:https://www.cnblogs.com/hightech/p/14811268.html
Copyright © 2011-2022 走看看