now() 的用法
在平时对于数据库操作中,有时候会使用到时间,比如-数据的创建时间/更新时间之类问题,可能是需要查询出时间的结果,也存在大量的需要搜索某个时间点或时间段的操作;
MySQL中取本地时间
now() 取本地的时间,精确到秒
CURDATE() 精确到天
CURTIME()仅取今天的时分秒
当需要作为实时的搜索条件时,可以直接跟WHERE条件后直接食用
这里介绍一下自定义式的时间格式化方式
DATE_FORMAT(时间,'时间格式')
这个方法会将前面的时间按照你后面的格式进行格式化处理
这里贴一下我从其他大佬哪里粘过来的(附上了大佬的帖子链接)
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31)
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写的月份名字(Jan……Dec)
%j 一年中的天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12)
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59)
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59) %s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期的第一天
%u 星期(0……52), 这里星期一是星期的第一天 %% 一个文字“%”。
--------------------- 来自 zzzgd_666 的CSDN 博客全文地址请点击:https://blog.csdn.net/zzzgd_666/article/details/80594087?utm_source=copy
这里存在一个问题,就是如果你将格式的时间直接作为条件取搜索,很可能是无法搜索出你想要的数据的(使用=条件触发概率更大),因为,在数据库中,我们很多情况下存储的时间都是精确到秒的,格式化的时间与数据库中数据时间未做到一致,导致无法搜索到数据;
解决方法1:格式化两个时间,一个是你的搜索条件(我这里是取本机时间NOW),一个是你需要搜索的时间字段也做一个相同的时间格式,然后将这两个作为你的比对条件即可解决问题;
---------------------
作者:不徒手而亡
来源:CSDN
原文:https://blog.csdn.net/qq_40234946/article/details/82889270
版权声明:本文为博主原创文章,转载请附上博文链接!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通