查詢有關日期問題, 求sql command

kw_725 2010-04-20 02:38:37
本人使用
datepart(wk,'2010/01/04') 所顯示之 week為2
有無方法將 2010/01/04 顯示為1呢?
不可以使用減1這個方法, 這樣顯示2009年會出現錯誤,

謝謝幫忙
...全文
103 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
htl258_Tony 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kw_725 的回复:]
引用 1 楼 htl258 的回复:

SQL code

select datepart(w,dateadd(dd,@@datefirst-1,'2010/01/04'))


但系我雖要之後果d week都要識得自動減一喎, 只不過2010/01/04系屬於week 1
[/Quote]说清楚点,没理解
老黎 2010-04-20
  • 打赏
  • 举报
回复

--第几个星级 = ((日期-当月第一天)(单位:天)+7)/7
declare @date datetime
set @date = '2010/01/04'

select (datediff(day, convert(char(6),@date,112)+'01', @date)+7) / 7
zhangjiang264 2010-04-20
  • 打赏
  • 举报
回复
如果默认语言是英语,@@datefirst 是7

set datefirst 1
select datepart(week,'20100103') -- 1
select datepart(week,'20100104') -- 2
sxiaohui8709253 2010-04-20
  • 打赏
  • 举报
回复
学习 。。。
永生天地 2010-04-20
  • 打赏
  • 举报
回复
SET DATEFIRST 7
select datepart(wk,'2010-01-04') --2
select datepart(wk,'2009-01-04') --2

select datepart(wk,'2010-01-03') --2
select datepart(wk,'2009-01-03') --1
--小F-- 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 htl258 的回复:]
SQL code

select datepart(w,dateadd(dd,@@datefirst-1,'2010/01/04'))
[/Quote]

up
喜-喜 2010-04-20
  • 打赏
  • 举报
回复
select datepart(w,dateadd(dd,@@datefirst-1,'2010/01/04')) 

学习...
kw_725 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 htl258 的回复:]

SQL code

select datepart(w,dateadd(dd,@@datefirst-1,'2010/01/04'))
[/Quote]

但系我雖要之後果d week都要識得自動減一喎, 只不過2010/01/04系屬於week 1
幸运的意外 2010-04-20
  • 打赏
  • 举报
回复
这个应当是国际通用的计算法则吧.没有别的办法能修改.只能手动-1处理了.我感觉.
PxxxP 2010-04-20
  • 打赏
  • 举报
回复
SET datefirst 2
select datepart(wk,'2010/01/04')
htl258_Tony 2010-04-20
  • 打赏
  • 举报
回复

select datepart(w,dateadd(dd,@@datefirst-1,'2010/01/04'))

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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