Oracle數(shù)據(jù)庫:
創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺為眾多戶提供多線服務(wù)器托管 四川大帶寬租用 成都機柜租用 成都服務(wù)器租用。
第一個: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 dual);
第二個語句:
SELECT TO_CHAR(TO_DATE('2012-12-12', 'YYYY-MM-DD'), 'DAY') WEEK_DAY
FROM DUAL
SqlServer數(shù)據(jù)庫:
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
擴展資料:
SQL相關(guān)函數(shù):
SQL Aggregate 函數(shù):SQL Aggregate 函數(shù)計算從列中取得的值,返回一個單一的值。
有用的 Aggregate 函數(shù):AVG() - 返回平均值,COUNT() - 返回行數(shù),F(xiàn)IRST() - 返回第一個記錄的值,LAST() - 返回最后一個記錄的值,MAX() - 返回最大值,MIN() - 返回最小值,SUM() - 返回總和
SQL Scalar 函數(shù):SQL Scalar 函數(shù)基于輸入值,返回一個單一的值。
有用的 Scalar 函數(shù):UCASE() - 將某個字段轉(zhuǎn)換為大寫,LCASE() - 將某個字段轉(zhuǎn)換為小寫,MID() - 從某個文本字段提取字符;
LEN() - 返回某個文本字段的長度,ROUND() - 對某個數(shù)值字段進行指定小數(shù)位數(shù)的四舍五入,NOW() - 返回當(dāng)前的系統(tǒng)日期和時間,F(xiàn)ORMAT() - 格式化某個字段的顯示方式。
參考資料:百度百科——sql
SQL SERVER查詢時間是一年中第幾周,使用函數(shù) datepart()。
例:查詢 ‘2017-1-1’是2017年的第幾周,語句如下
select?datepart(wk,'2017-1-1')
datepart函數(shù)說明
一、函數(shù)功能:DATEPART() 函數(shù)用于返回日期/時間的單獨部分,比如年、月、日、小時、分鐘等等。
二、語法:DATEPART(datepart,date)
三、參數(shù)說明:date?參數(shù)是合法的日期表達式。datepart?參數(shù)可以是下列的值:
四、實例演示
假設(shè)我們有下面這個 "Orders" 表:
我們使用如下 SELECT 語句:
SELECT?DATEPART(yyyy,OrderDate)?AS?OrderYear,
DATEPART(mm,OrderDate)?AS?OrderMonth,
DATEPART(dd,OrderDate)?AS?OrderDay
FROM?Orders
WHERE?OrderId=1
結(jié)果:
drop function dbo.f_get_workdays
go
CREATE FUNCTION dbo.f_get_workdays(@bdate DATETIME, @edate DATETIME)
RETURNS INTEGER
AS BEGIN
DECLARE @workdays INTEGER
IF @bdate @edate
RETURN -1
SELECT @workdays =
--如果終止日期與起始日期在同一個星期內(nèi),只需要計算有幾天即可
CASE WHEN DATEPART(wk, @edate-1)-DATEPART(wk,@bdate) = 0 THEN
CASE WHEN DATEPART(dw, @bdate) 5 THEN 0
WHEN DATEPART(dw, @edate-1) 5 THEN 6 - DATEPART(dw, @bdate)
ELSE DATEPART(dw, @edate-1) - DATEPART(dw, @bdate) + 1 END
--如果終止日期與起始日期在不同的星期內(nèi)
--首先計算出除前后兩個星期外完整的星期數(shù) * 5
ELSE (DATEDIFF(dd,@bdate,@edate)
- (8-DATEPART(dw, @bdate))
- DATEPART(dw, @edate-1)) / 7 * 5
--再加上第一個星期里的工作日數(shù)
+ CASE WHEN DATEPART(dw, @bdate) 6 THEN 6 - DATEPART(dw, @bdate)
ELSE 0 END
--加上末一個星期里的工作日數(shù)
+ CASE WHEN DATEPART(dw, @edate-1)5 THEN 5 ELSE DATEPART(dw, @edate-1) END
END
RETURN @workdays
END
go
select dbo.f_get_workdays(dateadd(day,-21,getdate()),getdate())
說一下我的思路吧.首先查詢出當(dāng)前月的每一天進行排序,然后再對每一天進行星期幾的查詢,再定位第一個星期五,我們用的也是Oracle,語句應(yīng)該也是大同小異.
select ndate(select trunc(sysdate,'mm')+level-1 as ndate from daul connect by level =31) t where to_char(ndate,'dy')='星期五' and rownum='1';
select * from 表名
where datepart(week,[時間字段])=datepart(week,'2013.3.17')-1
2.每年每個月的信息
sql = select datepart(year,date)*100+datepart(month,date) YEARMONTH,* SPSL,distinct(employee) from user
group by uname
1.每月每個星期的信息
sql = select * from user where date between DateAdd(day,day(getdate())-1,getdate()) and DateAdd(day,7-day(getdate()),getdate())
網(wǎng)頁名稱:sqlserver星期,sqlserver 時間間隔
本文地址:http://jinyejixie.com/article20/hojhjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站導(dǎo)航、微信小程序、網(wǎng)頁設(shè)計公司、品牌網(wǎng)站設(shè)計、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)