社区
MS-SQL Server
帖子详情
日期比较
hongyan80
2003-10-16 04:20:05
两个日期不用CONVERT函数能不能直接比较?
...全文
43
9
打赏
收藏
日期比较
两个日期不用CONVERT函数能不能直接比较?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hongyan80
2003-10-17
打赏
举报
回复
同一天的上午12点与上年9点比较,哪个大?
---涛声依旧---
2003-10-16
打赏
举报
回复
你可以參考MSDN
- 0 or 100 (*) Default mon dd yyyy hh:miAM (or PM)
1 101 USA mm/dd/yy
2 102 ANSI yy.mm.dd
3 103 British/French dd/mm/yy
4 104 German dd.mm.yy
5 105 Italian dd-mm-yy
6 106 - dd mon yy
7 107 - Mon dd, yy
8 108 - hh:mm:ss
- 9 or 109 (*) Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmdd
- 13 or 113 (*) Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 or 120 (*) ODBC canonical yyyy-mm-dd hh:mi:ss(24h)
- 21 or 121 (*) ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(no spaces)
- 130* Kuwaiti dd mon yyyy hh:mi:ss:mmmAM
- 131* Kuwaiti dd/mm/yy hh:mi:ss:mmmAM
hongyan80
2003-10-16
打赏
举报
回复
我知道了GETDATE()中还包含时间信息,如果要按日期比较,可以直接输日期。日期有哪几种写法:‘2003.10.16’,‘20031016’,‘2003-10-16’,还有没有别的?
hongyan80
2003-10-16
打赏
举报
回复
SELECT * FROM tWORK WHERE TIME<GETDATE()
SELECT * FROM tWORK WHERE CONVERT(CHAR(10),TIME,102)<CONVERT(CHAR(10),GETDATE(),102)
为什么两个查询结果不同?上面的包含今天的记录。
welyngj
2003-10-16
打赏
举报
回复
up
iamtk
2003-10-16
打赏
举报
回复
可以。如下:
declare @d1 datetime
declare @d2 datetime
set @d1 = '2003-01-01'
set @d2 = '2003-02-05'
if @d1 < @d2
print '@d1 < @d2'
arrow_gx
2003-10-16
打赏
举报
回复
用 datadiff 函数
pengdali
2003-10-16
打赏
举报
回复
DATEDIFF
返回跨两个指定日期的日期和时间边界数。
语法
DATEDIFF ( datepart , startdate , enddate )
参数
datepart
是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
日期部分 缩写
year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms
startdate
是计算的开始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。
如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。
enddate
是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
返回类型
integer
注释
startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。
当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。
计算跨分钟、秒和毫秒这些边界的方法,使得 DATEDIFF 给出的结果在全部数据类型中是一致的。结果是带正负号的整数值,其等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。
示例
此示例确定在 pubs 数据库中标题发布日期和当前日期间的天数。
USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO
pengdali
2003-10-16
打赏
举报
回复
select datediff(day,'2001-1-1','2002-1-1') 天
select datediff(month'2001-1-1','2002-1-1') 月
select datediff(year,'2001-1-1','2002-1-1') 年
Java工程师必学系列课程之6--《Java
日期
时间类》视频课程
课程内容:本课程是《Java工程师必学系列课程》的第6部分,主要讲解Java语言中中新旧两代
日期
时间相关的类、
日期
时间相关的处理方法、历法和时间计算的常识,在课程的最后还安排了万年历实战项目本课程涉及的主要内容可以分为四部分:一、Java语言旧
日期
时间系统二、Java8新
日期
时间系统三、
日期
、时间、历法基础知识四、万年历项目课程说明:在开发Java程序的过程中,无论做什么类型的项目,基本上都会处理与
日期
和时间相关的问题。既然
日期
时间问题的处理已经成了程序必须要掌握的技能,那我们就必须认真深入的学习
日期
时间的计算和处理方法。本课程将深入讲解Java语言新旧两代
日期
时间系统的相关知识。在讲解的过程中,不仅仅讲解如何调用各种类所提供的方法去处理相关问题,更是从原理上深入分析了这些类的设计原理,以及要如何避免在实战中踩到那些非常隐蔽的大坑。此外,除了讲解
日期
时间相关工具类的使用,本课程还向广大学员普及了一些必要的
日期
、时间和历法的相关知识。让学员能够从根本上理解
日期
时间算法的设计思路。同时,本课程在最后一部分,安排了非常精彩的、完整的万年历项目,通过实战的形式切实帮助学员提高解决具体问题的能力!预期效果:认真学习完本课程,学员可以掌握
日期
时间计算和处理的相关知识,并能提高实际的编码水平。配套福利:万年历软件的完整源码环境配置要求:学习本课程需安装JDK13或更高版本的JDK,以便程序能正确运行,建议使用IntelliJ IDEA 2019.1.2或更高版本的开发工具。因有合作协议约束,《穆哥学堂》只提供PDF版本的课件!
Java
日期
比较
大小的几种方式
日期
比较
在开发里面很是常见,我也踩了不少坑,本文就列举一下Java
日期
比较
的方式 一、字符串String的
日期
比较
String型的
日期
通过compareTo()来
比较
,因为String实现了comparable接口 这里我们
比较
的是endDate、today的大小today.compareTo(endDate)来判断红包是否过期不可领取 endDate表示 红包失效的
日期
today表示当前时间(今天) today.compareTo(endDate) >0 说明今天
日期
相对晚 ,大于红包失效日
Access时间
日期
比较
查询的方法总结
Access
日期
时间
比较
查询语句困扰过很多网友,种豆网整理了一下Access
日期
比较
查询的几种方法,假定数据表明为TblName,
日期
/时间字段名为FDate(这里不能讲FDate设置为字符串,否则
比较
查询结果不正确)。 1.Access数据表
日期
字段同
日期
字符串直接
比较
以下是查询2012年12月12日以后的数据的SQL语句。 select * from TblName where DFD...
Mysql中
日期
比较
大小的方法
综上所述,我们可以使用
比较
运算符或
日期
函数来在MySQL中
比较
日期
的大小。在MySQL中,
日期
可以使用DATE类型进行存储和
比较
。为了
比较
两个
日期
的大小,我们可以使用
比较
运算符(如大于、小于和等于)或
日期
函数来实现。在MySQL中,我们经常需要
比较
日期
的大小来进行查询和排序操作。本文将详细介绍在MySQL中进行
日期
比较
大小的方法,并提供相应的源代码示例。需要注意的是,使用
日期
函数进行
比较
可能会影响查询的性能,特别是对于大型数据集。除了
比较
运算符外,MySQL还提供了一些
日期
函数来进行
日期
比较
。
Mysql 中
日期
比较
大小的方法有哪些?
确保在
比较
日期
时,你使用的
日期
格式和
比较
值的格式是一致的,以避免错误。
日期
比较
时,MySQL 会将字符串转换为
日期
类型进行
比较
。在 MySQL 中,你可以使用多种方法来
比较
日期
的大小。这将选择
日期
列值在 '2023-01-01' 之后的所有记录。这将选择
日期
列值在 '2023-01-01' 之后的所有记录。这将选择
日期
列值大于 '2023-01-01' 的所有记录。这将选择
日期
列值大于当前
日期
和时间的所有记录。 函数返回两个
日期
之间的天数差异。 函数用于提取
日期
部分。
MS-SQL Server
34,590
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章