當前位置:首頁 » 編程語言 » sql周的第一天

sql周的第一天

發布時間: 2025-01-18 06:29:05

『壹』 sql Server 怎麼獲得本周內: 周六為第一天 周五為第最後一天

select datepart(w,getdate()+1) --星期六返回1,星期五返回7。
select convert(varchar(10),getdate()-datepart(w,getdate()+1)+1,120) --獲取本周第一天,2013-4-20星期六,返回2013-04-20,是第一天。

select convert(varchar(10),getdate()-datepart(w,getdate()+1)+8,120) --獲取本周最後一天,2013-4-20星期六,返回2013-04-27,是第一天。

『貳』 使用SQL語句取相關日期(當月天數,當月第一天,當月最後一天,本年最後一天,當月第一個星期)

--當月天數
select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0)))
---當月第一天
select dateadd(d,-day(getdate())+1,getdate())
---當月最後一天
select dateadd(d,-day(getdate()),dateadd(m,1,getdate()))
--本年最後一天
select dateadd(d,-day(getdate()),dateadd(m,12,getdate()))
--當月第一個星期一
SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, 6 - DAY(getdate()), getdate())), '')

『叄』 sql 如何獲取當前時間,所屬周的開始時間和結束時間,周一為一個星期的第一天

SELECT GETDATE() 當前時間,DATEADD(DAY,-CASE DATENAME(WEEKDAY,GETDATE()) WHEN '星期一' THEN 0
WHEN '星期二' THEN 1 WHEN '星期三' THEN 2 WHEN '星期四' THEN 3 WHEN '星期五' THEN 4 WHEN '星期六' THEN 5 ELSE 6 END,GETDATE()) 星期一日期,
DATEADD(DAY,CASE DATENAME(WEEKDAY,GETDATE()) WHEN '星期一' THEN 6
WHEN '星期二' THEN 5 WHEN '星期三' THEN 4 WHEN '星期四' THEN 3 WHEN '星期五' THEN 2 WHEN '星期六' THEN 1 ELSE 0 END,GETDATE()) 星期日日期

『肆』 SQL如何獲得本季度第一天,一年的第一天,本月的最後一天

你好,以下是獲取年,季度,天日期的所有方式:
DECLARE @dt datetime
SET @dt=GETDATE()
DECLARE @number int
SET @number=3
--1.指定日期該年的第一天或最後一天
--A. 年的第一天
SELECT CONVERT(char(5),@dt,120)+'1-1'
--B. 年的最後一天
SELECT CONVERT(char(5),@dt,120)+'12-31'
--2.指定日期所在季度的第一天或最後一天
--A. 季度的第一天
SELECT CONVERT(datetime,
CONVERT(char(8),
DATEADD(Month,
DATEPART(Quarter,@dt)*3-Month(@dt)-2,
@dt),
120)+'1')

--B. 季度的最後一天(CASE判斷法)
SELECT CONVERT(datetime,
CONVERT(char(8),
DATEADD(Month,
DATEPART(Quarter,@dt)*3-Month(@dt),
@dt),
120)
+CASE WHEN DATEPART(Quarter,@dt) in(1,4)
THEN '31'ELSE '30' END)

--C. 季度的最後一天(直接推演算法
SELECT DATEADD(Day,-1,
CONVERT(char(8),
DATEADD(Month,
1+DATEPART(Quarter,@dt)*3-Month(@dt),
@dt),
120)+'1')

--3.指定日期所在月份的第一天或最後一天
--A. 月的第一天
SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')

--B. 月的最後一天
SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')

--C. 月的最後一天(容易使用的錯誤方法)
SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))

--4.指定日期所在周的任意一天
SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)

--5.指定日期所在周的任意星期幾
--A. 星期天做為一周的第1天
SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)

--B. 星期一做為一周的第1天
SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)

『伍』 sql 配置變數為當月第一天日期

可以利用sql函數實現,首先獲取傳遞過來的日期中的天數,然後減去(天數-1),即可得到第一天日期。
例如mysql:DATE_SUB($[yyyy-mm-dd], INTERVAL (DAY($[yyyy-mm-dd]) -1) DAY)
大體思路是這樣的,不同的資料庫sql日期函數略有不同,自己調試下吧。

『陸』 第四十九章 SQL函數 DAYOFWEEK

SQL函數 DAYOFWEEK用於返回日期表達式的整型星期幾。默認情況下,一周的第一天是星期天,返回值對應於從星期天開始的天數,范圍為0到6。日期表達式可以是日期整數、$HOROLOG或$ZTIMESTAMP值、ODBC格式的日期字元串或時間戳。時間戳可以是64位有符號整數或yyyy-mm-dd hh:mm:ss.fff格式,時間部分不被評估。要返回星期幾的名稱,可以使用DAYNAME、DATENAME或TO_DATE函數。也可以通過DATEPART函數獲取星期幾信息。使用DAYOFWEEK()方法從ObjectScript調用此函數。

日期驗證包括對輸入值的檢查,若未通過檢查則返回空字元串。默認情況下,一周的第一天是周日。可以通過設置SET ^%SYS("sql","sys","day of week")=n來更改一周的第一天,其中n值為1到7。若設置星期一為一周的第一天,則周三日期表達式返回3。若要恢復默認值,可設置^%SYS("sql","sys","day of week")=7。通過SET ^%SYS("sql","sys","day of week",namespace)=n更改命名空間的每周第一天,其中n為1到7。一旦在命名空間級別設置一周的第一天,通過指定^%SYS("sql","sys","day of week")=n更改系統范圍的設置,對命名空間無影響。若要恢復更改命名空間的默認第一天,使用kill ^%SYS("sql","sys","day of week",namespace)。

支持ISO 8601標准用於確定星期、星期和其他日期設置。ISO 8601標准主要在歐洲國家使用,從星期一開始計算一周的天數。通過設置 ^%SYS("sql","sys","week ISO8601")=1啟用ISO 8601標准。若禁用,則設置為0。若ISO 8601周被激活,且周的天數未定義或設置為默認值,則ISO 8601標准將覆蓋默認值。若day of week設置為任何其他值,則DAYOFWEEK將覆蓋周ISO8601。

下面的例子展示了兩個select項在不同設置下返回數字5,即指定日期 February 22, 2018 對應於星期四。所有select-item返回當前日期對應的整數。$ZTIMESTAMP返回UTC時間,其他時間表達式返回本地時間,這可能影響DAYOFWEEK值。以下示例演示了如何更改命名空間的一周的第一天,以及如何應用ISO 8601標準的默認星期幾和星期幾。程序測試是否具有%SYS或user命名空間的特定於命名空間的每周第一天設置,並在檢測到時中止以阻止更改這些設置。

『柒』 SQL怎麼查詢當前周的第一天(周一),跟當前周的最後一天(周日)

select convert(varchar(10),DATEADD(dd, -(CASE when datepart(weekday,'2018-02-25') = 1 Then 8 ELSE datepart(weekday,'2018-02-25')END -2), '2018-02-25'),120)as "第一天(周一)",
convert(varchar(10),DATEADD(dd, (8-CASE when datepart(weekday,'2018-02-25') = 1 Then 8 ELSE datepart(weekday,'2018-02-25')END), '2018-02-25'),120)as "最後一天(周日)"

熱點內容
伺服器兩條寬頻如何疊加網速 發布:2025-01-18 08:52:17 瀏覽:730
oracle存儲過程集合 發布:2025-01-18 08:42:39 瀏覽:884
洋蔥數學緩存 發布:2025-01-18 08:38:36 瀏覽:918
電影的文件夾都是 發布:2025-01-18 08:21:49 瀏覽:835
post提交php 發布:2025-01-18 08:21:42 瀏覽:460
如何禁止寫入文件夾 發布:2025-01-18 08:21:04 瀏覽:363
360雲盤等待上傳 發布:2025-01-18 08:21:03 瀏覽:796
安卓手機怎麼設置壁紙 發布:2025-01-18 08:20:23 瀏覽:319
如何關閉密碼鎖 發布:2025-01-18 08:18:51 瀏覽:859
我的電腦ftp打不開 發布:2025-01-18 08:18:05 瀏覽:513