【新手求教sql小问题,大大们帮忙】

wingrtjvcr 2007-12-06 06:05:59
两个问题

我想找某个日期字段的数据..年份等于2007的要怎么写呢?

还有某个日期字段的数据,月份=当前月的..

谢谢大大们!!
...全文
74 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
stray2010 2007-12-08
  • 打赏
  • 举报
回复
mark
cncxz 2007-12-07
  • 打赏
  • 举报
回复
使用 DATEDIFF

语法

DATEDIFF ( datepart , startdate , enddate )


备注
enddate 减去 startdate。如果 startdate 晚于 enddate,则返回负值。

如果结果超出整数值范围,则 DATEDIFF 将产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。

跨分钟、秒和毫秒等边界计算的方法使得 DATEDIFF 指定的结果在所有数据类型中均一致。结果是带正负号的整数值,它等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。


参数
datepart

指定应在日期的哪一部分计算差额的参数。下表列出了 Microsoft SQL Server 2005 可识别的日期部分及其缩写。

日期部分 缩写
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 配置选项值的后两位数字的值将与截止年份处于同一世纪中。比此选项值的后两位数字大的值先于截止年份的世纪。例如,如果 two-digit year cutoff 为 2049(默认值),则 49 被解释为 2049,2050 被解释为 1950。为避免含糊歧义,请使用四位数表示的年份。

有关指定时间值的详细信息,请参阅时间格式。有关指定日期的详细信息,请参阅 日期和时间 (Transact-SQL)。

enddate

计算的结束日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。


详细参看sql2005联机丛书
ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/tsqlref9/html/eba979f2-1a8d-4cce-9d75-b74f9b519b37.htm

liuyun1987 2007-12-06
  • 打赏
  • 举报
回复

--找出2007年的记录
select * from Table where DateName(Year,CreateTime)='2007'
--找出当前月的记录
select * from Table where DateName(Month,CreateTime)=DateName(Month,getdate())
liuyun1987 2007-12-06
  • 打赏
  • 举报
回复

select DateName(Month,getdate())

用DateName可以找到月分....
gui0605 2007-12-06
  • 打赏
  • 举报
回复
SQL里边有个判断日期,时间,年份相差多少的函数,儿歌相差0则相等,函数名忘了,明天到公司再看看~~
刀枪blue 2007-12-06
  • 打赏
  • 举报
回复
.....where year(getdate()='2007'
.....where month(日期字段)=month(getdate())

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧