當前位置:首頁 » 編程語言 » sql星期函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql星期函數

發布時間: 2022-06-10 00:50:03

sql Server日期函數之正確確定某天是星期幾

今天是星期幾,例子 1:
setlanguageN'English'
selectdatename(weekday,getdate())Wednesday今天是星期幾,例子 2:
setlanguageN'SimplifiedChinese'
selectdatename(weekday,getdate())星期三今天是星期幾,例子 3:
setdatefirst1
selectdatepart(weekday,getdate())3 星期三注意:這里用到了另外一個 SQL Server 日期函數 datepart()。 set datefirst 1 表示設置一周的第一天為星期一。在老美,他們的一周的第一天習慣為星期天。我們可以通過 @@datefirst 函數得到當前會話的 datefirst 設置值。
select@@datefirst1你可能有疑問:set language 後面的語言參數是從哪裡得到的?可以得到其他國家語言中的星期幾嗎?當然是可以的了源碼天空
, 請看下面:
selectalias,*frommaster..syslanguages
如果我想得到韓語中的星期幾,可以這樣:
setlanguageN'Korean'

Ⅱ SQL Server中的時間函數有那些,最好舉例說明

比較常用的時間函數有DateAdd,DateDiff,DateName,DatePart,Day,Getdate,Month,Year,GetUTCDate這幾個函數。
以下依次說明,如需更詳細說明請參考SQL幫助文檔:

1. DateAdd函數
在向指定日期加上一段時間的基礎上,返回新的 datetime 值。

語法
DATEADD ( datepart , number, date )

示例
此示例列印出 pubs 資料庫中標題的時間結構的列表。此時間結構表示當前發布日期加上 21 天。
SELECT DATEADD(day, 21, pubdate) AS timeframe
FROM titles

2.DateDiff函數
返回跨兩個指定日期的日期和時間邊界數。

語法
DATEDIFF ( datepart , startdate , enddate )

示例
此示例確定在 pubs 資料庫中標題發布日期和當前日期間的天數。
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles

3.DateName函數
返回代表指定日期的指定日期部分的字元串。

語法
DATENAME ( datepart , date )

示例
此示例從 GETDATE 返回的日期中提取月份名。
SELECT DATENAME(month, getdate()) AS 'Month Name'

4.DatePart函數
返回代表指定日期的指定日期部分的整數。

語法
DATEPART ( datepart , date )

示例
此示例顯示 GETDATE 及 DATEPART 的輸出。
SELECT DATEPART(month, GETDATE()) AS 'Month Number'

5.Day函數
返回代表指定日期的天的日期部分的整數。

語法
DAY ( date )

示例
此示例返回從日期 03/12/1998 後的天數。
SELECT DAY('03/12/1998') AS 'Day Number'

6.GetDate函數
按 datetime 值的 Microsoft® SQL Server™ 標准內部格式返回當前系統日期和時間。

語法
GETDATE ( )

示例
下面的示例得出當前系統日期和時間:
SELECT GETDATE()

7.Month函數
返回代表指定日期月份的整數。

語法
MONTH ( date )

示例
下面的示例從日期 03/12/1998 中返回月份數。
SELECT "Month Number" = MONTH('03/12/1998')

8.Year函數
返回表示指定日期中的年份的整數。

語法
YEAR ( date )

示例
下例從日期 03/12/1998 中返回年份數。
SELECT "Year Number" = YEAR('03/12/1998')

9.GetUTCDate函數
返回表示當前 UTC 時間(世界時間坐標或格林尼治標准時間)的 datetime 值。當前的 UTC 時間得自當前的本地時間和運行 SQL Server 的計算機操作系統中的時區設置。

語法
GETUTCDATE()

示例
下例從日期 03/12/1998 中返回年份數。
SELECT GETUTCDATE()

Ⅲ 在sql中怎樣獲得已知日期是星期幾

Oracle資料庫:

第一個:SELECT DECODE(dw,

0,

'星期天',

1,

'星期一',

2,

'星期二',

3,

'星期三',

4,

'星期四',

5,

'星期五',

6,

'星期六') WEEK_DAY

FROM (SELECT 7 -

TO_NUMBER(NEXT_DAY(TO_DATE('2012-12-12', 'yyyy-mm-dd'), 1) -

TO_DATE('2012-12-12', 'yyyy-mm-dd')) dw

FROM al);

第二個語句:

SELECT TO_CHAR(TO_DATE('2012-12-12', 'YYYY-MM-DD'), 'DAY') WEEK_DAY

FROM DUAL

SqlServer資料庫:

select case datepart(weekday, getdate())

when 1 then

'星期天'

when 2 then

'星期一'

when 3 then

'星期二'

when 4 then

'星期三'

when 5 then

'星期四'

when 6 then

'星期五'

when 7 then

'星期六'

end

(3)sql星期函數擴展閱讀:

SQL相關函數:

SQL Aggregate 函數:SQL Aggregate 函數計算從列中取得的值,返回一個單一的值。

有用的 Aggregate 函數:AVG() - 返回平均值,COUNT() - 返回行數,FIRST() - 返回第一個記錄的值,LAST() - 返回最後一個記錄的值,MAX() - 返回最大值,MIN() - 返回最小值,SUM() - 返回總和

SQL Scalar 函數:SQL Scalar 函數基於輸入值,返回一個單一的值。

有用的 Scalar 函數:UCASE() - 將某個欄位轉換為大寫,LCASE() - 將某個欄位轉換為小寫,MID() - 從某個文本欄位提取字元;

LEN() - 返回某個文本欄位的長度,ROUND() - 對某個數值欄位進行指定小數位數的四捨五入,NOW() - 返回當前的系統日期和時間,FORMAT() - 格式化某個欄位的顯示方式。

參考資料:網路——sql

Ⅳ sql語句計算每個月有幾個周六的函數

先建立函數,再執行下面的語句

CREATE FUNCTION getday --
(@datestart datetime,--啟始日期
@dateend datetime, --結束日期
@DW VARCHAR(6)) --星期幾
RETURNS INT
AS
BEGIN
DECLARE @DAYCOUNT int
SET @DAYCOUNT=0
while @datestart<=@dateend
begin
if datename(dw,@datestart)=@DW
set @DAYCOUNT=@DAYCOUNT+1
SET @DATESTART=DATEADD(DAY,1,@DATESTART)

end
RETURN(@DAYCOUNT)
END

GO

SELECT DBO.GETDAY('2008-01-01','2008-12-31','星期六') AS SATDAY,
DBO.GETDAY('2008-01-01','2008-12-31','星期日') AS SUNDAY

Ⅳ sql中日期函數的用法

1.DateAdd ( I , N , D )
將一個日期加上一段期間後的日期。 I :設定一個日期( Date )所加上的一段期間的單位。譬如 interval="d" 表示 N的單位為日。 I的設定值如下:
yyyy Year 年
q Quarter 季
m Month 月
d Day 日
w Weekday 星期
h Hour 時
n Minute 分
s Second 秒
N :數值表達式,設定一個日期所加上的一段期間,可為正值或負值,正值表示加(結果為 >date 以後的日期),負值表示減(結果為 >date 以前的日期)。
D :待加減的日期。
例子: DateAdd ( "m" , 1 , "31-Jan-98")
結果: 28-Feb-98
說明:將日期 31-Jan-98 加上一個月,結果為 28-Feb-98 而非 31-Fe-98 。
例子: DateAdd ( "d" , 20 , "30-Jan-99")
結果: 1999/2/9
說明:將一個日期 30-Jan-99 加上 20 天後的日期。

2.Day( 日期的字元串或表達式 )
傳回日期的「日」部份。
例子: Day(" 12/1/1999 ")
結果: 1

3.DateDiff (I , D1 , D2[,FW[,FY]])
計算兩個日期之間的期間。
I :設定兩個日期之間的期間計算之單位。譬如 >I="m" 表示計算的單位為月。 >I 的設定值如:
yyyy > Year 年
q Quarter 季
m Month 月
d Day 日
w Weekday 星期
h Hour 時
n Minute 分
s Second 秒
D1 ,D2:計算期間的兩個日期表達式,若 >date1 較早,則兩個日期之間的期間結果為正值;若 >date2 較早, 則結果為負值。
FW :設定每周第一天為星期幾, 若未設定表示為星期天。 >FW 的設定值如下:
0 使用 >API 的設定值。
1 星期天
2 星期一
3 星期二
4 星期三
5 星期四
6 星期五
7 星期六
FY :設定一年的第一周, 若未設定則表示一月一日那一周為一年的第一周。 >FY 的設定值如下:
0 使用 >API 的設定值。
1 一月一日那一周為一年的第一周
2 至少包括四天的第一周為一年的第一周
3 包括七天的第一周為一年的第一周
例子: DateDiff ("d","25-Mar-99 ","30-Jun-99 ")
結果: 97
說明:顯示兩個日期之間的期間為 97 天

想查詢2007年2月9日的付款流水有單筆交易出現多張小票號的情況的小票號
這個要看一下你的表結構是什麼樣的啊?

Ⅵ SQL由已知幾幾年第幾周星期幾推出日期,麻煩給個函數

--我寫的函數如下(湊合著用)
Create Function xfn_GetDate(@YEAR INT,@WEEK INT,@DAY INT)
RETURNS DATETIME
AS
BEGIN
DECLARE @RST DATETIME
SET @RST=CAST( (CAST(@YEAR AS VARCHAR(20))+'-01-01') AS DATETIME)
WHILE @RST<CAST( (CAST(@YEAR AS VARCHAR(20))+'-12-31') AS DATETIME)
BEGIN
IF @WEEK=DATEPART(WW,@RST) AND @DAY=DATEPART(DW,@RST)
RETURN @RST
SET @RST=DATEADD(DD,1,@RST)
END
RETURN @RST
END

說明:@YEAR為年份,@WEEK為第幾星期,@DAY為禮拜的第幾天

運行
SELECT DBO.xfn_GetDate('2009',6,3)
得到的日期是:2009-02-03 00:00:00.000

我用的方法很粗糙,只是遍歷年份的每一天而已..

Ⅶ SQL中可以提取周末日期的函數

select*
fromthetable
wheredatepart(weekday,thedatefield)in(1,7)

Ⅷ 用SQL語句計算出給定日期是星期幾

1、首先可以直接用datepart函數,第一個參數設置成weekday就可以了,如下圖所示。

Ⅸ SQL SERVER查詢時間是一年中第幾周的函數

1、獲取當前系統資料庫的日期和時間,可以利用函數GETDATE(),select GETDATE()。

Ⅹ SQL怎麼獲取星期幾

今天工作中遇到一個需求:在每周的星期一至星期五的下午四點到五點,禁用一個程序的功能。這個功能是依賴於資料庫中的存儲過程的,因此想到了一個在存儲過程中處理這個方法的解決方案。
if(當前時間在星期一至星期五之間and當前時間在16點至17點之間)beginreturnend
這個方法基於兩個T-SQL內置函數:DATEPART()和@@DATEFIRST
DATEPART()函數的第一個參數可以是」weekday」,這時返回日期的星期數,在當前星期序列的次序。這個序列次序則依賴於SET DATEFIRST設置的參數,且可以通過@@DATEFIRST函數查看。所以DATEPART(WRRKDAY,GETDATE())這樣獲得的一個值是相對值。且相對的原點還是未知,這樣會造成BUG。因此應該對這個方法進行一定的修改。
–加入一些相對偏移後的獲取當前是星期幾的方法DATEPART(WEEKDAY,