精华内容
下载资源
问答
  • 1、时间字段是datetime类型 2、需要用到中间表,表结构数据链接下载 ...3、前两个 adddate 日需要在代码写死 每年的-01-01开始,-最后一个日期同理xxxx-12-31 4、sql select bri.orgid, ...

    1、时间字段是datetime类型

    2、需要用到中间表,表结构和数据链接下载

    链接:https://pan.baidu.com/s/1tAFU4nm1p4CkSneXwceA_A 
    提取码:b3xi 

    3、前两个 adddate 月日需要在代码中写死 从每年的-01-01开始,-最后一个日期同理xxxx-12-31

    4、sql

    select
        bri.orgid,
        date_format(years.date, '%Y') AS years,
        sum( case when bri.status = '1' then 1 else 0 end ) as num,
        sum( case when bri.status = '1' and bri.sex='1' then 1 else 0 end  ) as numman,
        sum( case when bri.status = '1' and bri.sex='2' then 1 else 0 end  ) as numgrid
        
    from
        ( select adddate('2014-01-01', numlist.id) as 'date', 
            numlist.id 
        from ( select n100.i * 365 as id from num as n100 ) as numlist 
        where adddate('2014-01-01', numlist.id) <= '2019-12-31' ) years
        
    left join building_resident_info bri on year (years.date) = year (bri.entrytime) and bri.status='1'
    
    and bri. status = '1'
    and bri.orgid like concat('37.02.82', '%')
    group by
        years.date

     

    5、效果图

     

      

     

    如有疏漏,请指正!谢谢。

    转载于:https://www.cnblogs.com/w-yu-chen/p/10259395.html

    展开全文
  • EXTRACT(type FROM date) EXTRACT() 函数使用与 DATE_ADD() 或 DATE_SUB() 一致的间隔类型,但是它用于指定从日期中提取的部分,而不是进行日期算术运算。 mysql> SELECT EXTRACT(YEAR FROM "1999-07-02"); -> 1999...
  • 我平常下载数据几乎都是用国泰安,下载好打开后有“年度期间”或“截至日期”等表示日期的一列,比如 ↓-但是很多时候我们其实只需要年份就可以了,此时就用到了字符串提取命令,即“年--日”中提取出“年”。...

    Stata字符串提取

    Hellohello,我又来啦?

    f2d2e343b16861c06d251aa4c5377ac1.png

    今天把我知道的字符串提取的命令和大家分享一下。我平常下载数据几乎都是用国泰安,下载好打开后有“年度期间”或“截至日期”等表示日期的一列,比如 ↓

    d5339610a0327498513034e4321cad78.png-

    但是很多时候我们其实只需要年份就可以了,此时就用到了字符串提取命令,即从“年-月-日”中提取出“年”。我记得Excel里好像也有什么函数可以达到同样的效果,不过用Stata也是很快滴!

    为了直观地说明白怎么用,我就举个非常随意(...)的例子吧~09188bb4e07ccbf4d41bcea2f56e45a0.gif,所以可能我的推送里都是尽可能把我理解的内容用很简短的例子来操作一遍看看。其实只是大家的数据千差万别,命令是固定的,所以还是希望有所帮助~>

    ↓例子

    ① 例子中有代码、截止日期和总资产三个变量,我们想把其中“截止日期”的“2012-12-31”变为“2012”以及“2013-12-31”变为“2013”。

    938f57bbac5d8fb77476c6954838d699.png

    ② 字符串提取命令:

    gen var1 =  substr(var2, number1, number2)

    解释:

    • gen : 生成一个新变量,给它取名为var1(取什么都可以)

    • substr() : 字符串提取。我们发现括号里有两个逗号分出了三个部分,其中var2是我们想要对其进行提取的变量,number1表示从这个变量的第几个位置开始提取,number2表示提取的个数。大家对应着自己的数据相应填就可以。

    因此对于咱们这个例子,命令就应该是:

    gen year =  substr(截止日期, 1, 4)

    //对“截至日期”变量列进行提取,从第一个位置的数字开始一共提取4位。

    ③命令输入之后我们再来看看数据,是不是就多了一列“year”?~

    543b89769aaa7f7869ff48f762061a3a.png

    ④但是注意,这里还不是最后一步。我们发现year列的数字是红色的,即它是字符串格式,我们在回归时使用到的是数值型格式的数据,因此要做的操作是将字符型转换为数值型。(❗destring命令非常常用)

    命令:destring year, replace

    ⑤完成~ ↓

    9deff2861e2a4ec97228de603d736185.png

    ⑥其实到上面就已经全部完成啦!!不过有个命令可以提取到位,即直接将提取出的字符型转化为数值型,只需要再多加一个real()就行a04a2eaa3a168978f3dff94c6404b7c3.gif。那么对于这个例子的命令就是:

    命令:gen year1 = real(substr(截止日期,1,4))

    解释:生成一个新变量命名为year1,它的取值是"截至日期"列的数据从第1个位置处提取前4个数并直接转化为数值型的数~

    0a219260003b644c470722d49ac58dc2.png

    是不是学到啦!切尔斯?


    排版:wanwanlee

    文字:wanwanlee

    配图:wanwanlee

    展开全文
  • 目录当前日期返回当前时间返回当前日期和时间返回日期时间的各个部分返回年份返回天数部分返回月份值返回小时值返回分钟值返回秒钟值返回日期参数所对应的微妙数提取传入表达式的时间部分提取字符串的值计算时间值...

    当前日期

    SELECT CURDATE();
    SELECT CURRENT_DATE();
    

    返回当前时间

    SELECT CURRENT_TIME();
    

    返回当前日期和时间

    SELECT CURRENT_TIMESTAMP();
    SELECT LOCALTIME();
    SELECT LOCALTIMESTAMP();
    SELECT NOW();
    

    返回日期时间的各个部分

    返回年份

    SELECT YEAR('2020-03-23');
    

    返回天数部分

    SELECT DAY('2020-09-14 22:00:15');
    

    返回月份值

    SELECT MONTH('2020-08-20 10:20:30');
    

    返回小时值

    SELECT HOUR('20:10:40');
    

    返回分钟值

    SELECT MINUTE('20:10:40');
    

    返回秒钟值

    SELECT SECOND('20:10:40');
    

    返回日期参数所对应的微妙数

    SELECT MICROSECOND('2020-08-30 10:20:30.001234');
    

    提取传入表达式的时间部分

    SELECT TIME(‘2020-10-20 20:30:40’);

    提取字符串中的值

    SELECT DATE('2020-10-10');
    SELECT DATE('2020-10-10 10:10:10');
    

    计算时间值

    计算起始日期 d 加上 n 天的日期

    SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);
    SELECT ADDDATE("2017.06.15", INTERVAL 10 DAY);
    

    时间 t 加上 n 秒的时间

    SELECT ADDTIME('2020-10-10 10:10:10',6);
    

    两个日期的想个天数

    SELECT DATEDIFF('2021-01-01','2020-09-18');
    

    计算起始日期 d 加上一个时间段后的日期,默认是天

    SELECT ADDDATE('2020-10-10 10:10:10',5);
    SELECT ADDDATE('2020-10-10 10:10:10',INTERVAL 10 MINUTE);
    

    从日期减去指定的时间间隔

    SELECT DATE_SUB('2020-10-10 10:10:10',INTERVAL 2 DAY);
    

    日期减去 1 天后的日期

    SELECT SUBDATE('2020-01-20 10:10:30',1);
    

    时间减去 5 秒后的时间

    SELECT SUBTIME('2020-01-20 10:10:30',5);
    

    计算时间差值

    SELECT TIMEDIFF('20:20:50','20:20:20');
    

    按表达式的要求显示日期

    SELECT DATE_FORMAT('2020-10-10 10:10:10','%Y-%m-%d %r');
    SELECT DATE_FORMAT('2020-10-10 10:10:10','%Y年%m月%d日 %r');
    

    将字符串转变为日期

    SELECT STR_TO_DATE("August 10 2017", "%M %d %Y");
    

    返回星期几:Friday

    SELECT DAYNAME('2020-09-18');
    

    返回在本月的第几天

    SELECT DAYOFMONTH('2020-09-30');
    

    日期 d 今天是星期几,1 星期日,2 星期一,以此类推

    SELECT DAYOFWEEK('2020-9-18');
    

    返回本年的第几天

    SELECT DAYOFYEAR('2020-09-18');
    

    转换时间

    将时间转为时分秒

    SELECT SEC_TO_TIME(4000);
    

    将时分秒转为时间

    SELECT TIME_TO_SEC('05:30:40');
    

    /**
    从日期 d 中获取指定的值,type 指定返回的值。type可取值为:
    MICROSECOND
    SECOND
    MINUTE
    HOUR
    DAY
    WEEK
    MONTH
    QUARTER
    YEAR
    SECOND_MICROSECOND
    MINUTE_MICROSECOND
    MINUTE_SECOND
    HOUR_MICROSECOND
    HOUR_SECOND
    HOUR_MINUTE
    DAY_MICROSECOND
    DAY_SECOND
    DAY_MINUTE
    DAY_HOUR
    YEAR_MONTH
    **/
    SELECT EXTRACT(MINUTE FROM ‘2020-11-12 13:14:15’);

    /** 计算从 0000 年 1 月 1 日开始 n 天后的日期 **/
    SELECT FROM_DAYS(761090);

    /** 返回当前月的最后一天 **/
    SELECT LAST_DAY(‘2018-03-10’);

    /** 组合时间 **/
    SELECT MAKETIME(10,20,30);

    /** 返回日期当中的月份名称,如:October **/
    SELECT MONTHNAME(‘2020-10-30 10:30:40’);

    /** 为 年-月 组合日期添加一个时段 /
    SELECT PERIOD_ADD(202004,4);
    /
    返回两个时段的月份差值 **/
    SELECT PERIOD_DIFF(202004,201908);

    /** 返回是第几个季节,返回 1-4 **/
    SELECT QUARTER(‘2020-06-08’);

    /** 按照表达式要求显示时间 **/
    SELECT TIME_FORMAT(‘10:20:30’,’%r’);

    /** 单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和 **/
    SELECT TIMESTAMP(‘2020-10-09’,‘18:30:23’);

    /** 计算日期 d 距离 0000 年 1 月 1 日的天数 **/
    SELECT TO_DAYS(‘2020-10-23 20:12:30’);

    /** 计算时间是本年的第几个星期 **/
    SELECT WEEK(‘2020-09-18 10:23:30’);
    SELECT WEEKOFYEAR(‘2020-09-18 10:23:32’);

    /** 日期 d 是星期几,0 表示星期一,1 表示星期二 **/
    SELECT WEEKDAY(‘2020-09-18’);

    /** 返回年份及第几周(0到53),mode 中 0 表示周天,1表示周一,以此类推 **/
    SELECT YEARWEEK(‘2020-09-18’,0);

    /**************************************************** 高级函数 ****************************************************/

    /** 返回2进制编码 **/
    SELECT BIN(3);

    /** 将字符串转换为二进制字符串 **/
    SELECT BINARY ‘Hello’;

    /**

    CASE 表示函数开始,END 表示函数结束。
    如果 1 > 0 成立,则返回 ‘1 比 0 大’, 如果 2 > 0 成立,则返回 2 比 0 大,
    当全部不成立则返回 3 比 0 大,而当有一个成立之后,后面的就不执行了。

    **/
    SELECT case
    when 1 > 0
    then ‘1 比 0 大’
    when 2 > 0
    then ‘2 比 0 大’
    ELSE ‘3 比 0 大’
    END;

    /** 字符串日期改成日期 **/
    SELECT CAST(‘2020-10-18’ AS DATE);

    /** 返回参数中的第一个非空表达式(从左往右) **/
    SELECT COALESCE(NULL,NULL,‘我非空’,NULL,NULL);

    /** 返回数据库连接数 **/
    SELECT CONNECTION_ID();

    /** 返回十进制的 4 转为二进制的结果 **/
    SELECT CONV(4,10,2);

    /** 函数将字符串 s 的字符集变成 cs **/
    SELECT CHARSET(‘ABC’);
    SELECT CHARSET(CONVERT(‘ABC’ USING GBK));

    /** 返回当前用户 **/
    SELECT CURRENT_USER();

    /** 返回当前数据库名 **/
    SELECT DATABASE();

    /** 如果 -1>0 正确,返回正确,否则错误**/
    SELECT if(-1>0,‘正确’,‘错误’);

    /** 第一个不为null,返回第一个参数,否则返回第二个值 **/
    SELECT IFNULL(NULL,‘第一个参数为null’);

    /** 为 null 返回 1,不为 null返回 0 **/
    SELECT ISNULL(‘a’);
    SELECT ISNULL(NULL);

    /** 返回最近生成的 AUTO_INCREMENT 值 **/
    SELECT LAST_INSERT_ID();

    /** 比较两个字符串,相等返回 null,不等返回第一个 **/
    SELECT NULLIF(20,20);
    SELECT NULLIF(12,20);

    /** 返回当前用户 **/
    SELECT SESSION_USER();
    SELECT SYSTEM_USER();
    SELECT USER();

    /** 返回数据库版本号 **/
    SELECT VERSION();

    展开全文
  • 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论易用性还是可扩展性上看,日期的选择校验还是用日历控件来实现比较好。 前几天在CSDN多个版块看到需要日期正则的帖子,所以整理了...
  • 具有K均值聚类DBSCAN的CitiBike数据网络分析 该存储库使用网络科学方法聚类技术检查... •采样数据起始结束站点ID的组合列表,将所有唯一的起始结束站点ID及其相应的站点名称,纬度经度提取到新的数
  • 函数作用:提取定串汉字...........................81 '64.函数作用:搜索重复数据(选定范围)...................81 '65.函数作用:字符型转数字型...........................82 '66.函数作用:小写人民币转大写...
  • 5.3.5 具体路径中提取文件名 5.3.6 提取字符串的第一个词 5.3.7 提取字符串的最后一个单词 5.3.8 提取字符串中除第一个词以外的所有词 5.3.9 提取名字的名、中间名姓 5.3.10 删除名字中的称谓 5.3.11 ...
  • 5.3.5 具体路径中提取文件名 5.3.6 提取字符串的第一个词 5.3.7 提取字符串的最后一个单词 5.3.8 提取字符串中除第一个词以外的所有词 5.3.9 提取名字的名、中间名姓 5.3.10 删除名字中的称谓 5.3.11 ...
  • 3.3.3 DAY——返回日期中具体的某一天 129 3.3.4 WEEKDAY——返回当前日期是星期几 130 3.3.5 HOUR——返回小时数 131 3.3.6 MINUTE——返回分钟数 131 3.3.7 SECOND——返回秒数 132 3.4 文本与日期、时间...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0241 如何字符串中提取数字 160 0242 判断内容是否为日期 161 0243 使字符串显示为自定义的格式 161 0244 实现拼音大小写转换 162 0245 怎样实现数据输入为空提示 162 0246 读取Memo1中指定行的文本...
  • 可计算1000年0101日起的日期 141.字符串提取纯数字 142.将一个数组按升序排列 143.将一个数组按降序排列 144.删除空白列 145.判断工作表是否为空白 146.将数据按类分到不同工作薄 147.单元格内数据排序 148.对...
  • 本书是第I卷,以开发人员在项目开发经常遇到的问题必须掌握的技术为中心,介绍了应用C#进行程序开发各个方面的知识技巧,主要包括C#编程基础、Windows窗体、控件应用、文件操作、C#与Office高效开发、图形...
  • 本书是第I卷,以开发人员在项目开发经常遇到的问题必须掌握的技术为中心,介绍了应用C#进行程序开发各个方面的知识技巧,主要包括C#编程基础、Windows窗体、控件应用、文件操作、C#与Office高效开发、图形...
  • 本书是第I卷,以开发人员在项目开发经常遇到的问题必须掌握的技术为中心,介绍了应用C#进行程序开发各个方面的知识技巧,主要包括C#编程基础、Windows窗体、控件应用、文件操作、C#与Office高效开发、图形...
  • 主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组集合的使用、面向对象编程技术、数据结构与算法、Windows窗体基础、特色窗体界面、窗体控制技术、MDI窗体继承窗体、Windows常用控件的使用、...
  • 实例043 字符串分离文件路径、文件名及 扩展名 55 实例044 获取字符串汉字的个数 57 实例045 批量替换某一类字符串 58 实例046 对字符串进行加密与解密 59 3.3 常用数字处理技术 61 实例047 判断输入的货币值...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    88 <br>0136 如何进行文本加密与解密 88 <br>0137 如何区别0、空字符串、Null、EmptyNothing 89 <br>0138 字符串分离文件路径、文件名及扩展名 89 <br>0139 如何批量替换某一类字符串 89...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
    Java压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板  使用Java语言编写的一款用于反映颜色变化的面板,也就是大家...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    (3)提取数据,游标重复提取每条记录到数据结构,直到数据集合被提交 (4)关闭游标,使用完游标后将其关闭 3.Oracle数据库的工作模式有哪两种?它们之间有有何区别? 答案: 在Oracle数据库,数据库的操作...
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
    Java压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板  使用Java语言编写的一款用于反映颜色变化的面板,也就是...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
    Java压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板  使用Java语言编写的一款用于反映颜色变化的面板,也就是...
  • Java网络取得文件 1个目标文件 简单 Java压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    Java压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板  使用Java语言编写的一款用于反映颜色变化的面板,也就是大家...
  • Java网络取得文件 1个目标文件 简单 Java压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...
  • Java网络取得文件 1个目标文件 简单 Java压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...
  • java源码包

    2015-12-01 16:29:37
    Java压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板  使用Java语言编写的一款用于反映颜色变化的面板,也就是大家...
  • 正则表达式

    2014-12-03 14:51:39
    当一个正则表达式成功地目标字符串相匹配时,可以目标串抽出括号的子模式相匹配 的部分.例如,假定我们正在检索的模式是一个或多个字母后面跟随一位或多位数字,那么我们可以使用模式 / [a-z] + \ d+/.但是...
  • EasyAndroid 包含各种工具类的集合,会不定期更新,欢迎贡献code 使用方法: ...inputStream2Bitmap : 输入流读取Bitmap resource2Bitmap : 根据资源ID获取一个指定大小的bitmap getBitmapFromFile ...

空空如也

空空如也

1 2
收藏数 30
精华内容 12
关键字:

从日期中提取年份和月