开发者社区> 问答> 正文

前两天去百度的SQL面试题,求帮助?

已解决

请取出 BORROW表中日期(RDATE字段)为当天的所有记录?(RDATE字段为datetime型,包含日期与时间)。

展开
收起
Carice 2021-10-04 15:57:33 3138 0
3 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    您好,

    select *
    from BORROW 
    where datediff(dd,RDATE,getdate())=0
    
    2021-10-04 16:19:37
    赞同 展开评论 打赏
  • 即使是搬砖,也要有自己的姿势

    这其实考察的是几个日期函数 有如下方法: 1.dateDiff(expr1,expr2)函数 计算的是expr1-expr2的日期间隔,而expr可以日期字符串或者日期时间字符串 比如:

    SELECT DATEDIFF('2021-10-01',a.create_time) FROM recommend_line_info a;
    SELECT DATEDIFF('2021-10-01 10:10:10',a.create_time) FROM recommend_line_info a;
    

    上面两种都是一样的,只会计算日期部分的天数间隔; 所以上面的问题就可以通过

    SELECT DATEDIFF('2021-10-01 10:10:10',a.create_time) as datedistance FROM recommend_line_info a WHERE DATEDIFF('2021-10-01 10:10:10',a.create_time) <20;
    
    

    第二种方案就是使用dataformat 函数 将日期时间格式化成只包含日期 然后再只对日期进行比较,比如:

    
    SELECT DATE_FORMAT(a.create_time,'%Y-%m-%d') FROM recommend_line_info a WHERE DATE_FORMAT(a.create_time,'%Y-%m-%d')='2021-09-09';```
    2021-10-12 17:19:29
    赞同 展开评论 打赏
  • 从事java行业8年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    请将需求再描述清楚些

    2021-10-12 16:49:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载