當前位置:首頁 » 編程語言 » sql語句日期區間轉為列表
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql語句日期區間轉為列表

發布時間: 2022-12-21 01:55:40

1. oracle sql語句,日期格式轉換

TO_DATE格式(以時間:2007-11-02 13:45:25為例)

1、日期和字元轉換函數用法(to_date,to_char)

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from al; //日期轉化為字元串

select to_char(sysdate,'yyyy') as nowYear from al; //獲取時間的年

select to_char(sysdate,'mm') as nowMonth from al; //獲取時間的月

select to_char(sysdate,'dd') as nowDay from al; //獲取時間的日

select to_char(sysdate,'hh24') as nowHour from al; //獲取時間的時

select to_char(sysdate,'mi') as nowMinute from al; //獲取時間的分

select to_char(sysdate,'ss') as nowSecond from al; //獲取時間的秒

2、字元串和時間互轉

select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from al

select to_char( to_date(222,'J'),'Jsp') from al //顯示Two Hundred Twenty-Two

(1)sql語句日期區間轉為列表擴展閱讀

date 轉換為字元串:

to_char(日期,」轉換格式」 ) 即把給定的日期按照「轉換格式」轉換。

轉換的格式:

表示year的:y 表示年的最後一位 yy 表示年的最後2位 yyy 表示年的最後3位 yyyy 用4位數表示年。

表示month的:mm 用2位數字表示月;mon 用簡寫形式 比如11月或者nov ;month 用全稱 比如11月或者november。

表示day的:dd 表示當月第幾天;ddd表示當年第幾天;dy 當周第幾天 簡寫 比如星期五或者fri;day當周第幾天全寫。比如星期五或者friday。

表示hour的:hh 2位數表示小時 12進制; hh24 2位數表示小時 24小時。

表示minute的:mi 2位數表示分鍾。

表示second的:ss 2位數表示秒60進制。

2. 怎麼用SQL語句把兩個日期間的所有日期列出一個列表

http://accessoft.com/blog/article-show.asp?userid=20576&Id=8117
這個是日期生成代碼

3. SQL查詢語句,將同一個月份里的前兩個日期分別成為一列

假設數據在vt表中, date, postdate都為datetime類型(SQL Server 2005或以上適用), 查詢結果未對日期值進行格式化, 查詢SQL如下:

selectd.monthTxt,
max(casewhend.idx=1thend.dateelsenullend)asdate1,
max(casewhend.idx=2thend.dateelsenullend)asdate2,
max(casewhend.idx=1thend.postdateelsenullend)aspostdate1,
max(casewhend.idx=2thend.postdateelsenullend)aspostdate2
from(
selects.date,s.postdate,
left(convert(nvarchar(10),s.date,120),7)asmonthTxt,
row_number()over(partitionbyleft(convert(nvarchar(10),s.date,120),7)orderbys.date)asidx
fromvts
)d
whered.idxin(1,2)
groupbyd.monthTxt

結果如下圖:

SQL說明:

left(convert(nvarchar(10), s.date, 120), 7)是獲取月份的字串, 就是上圖的monthTxt;

裡面的子查詢使用了row_number分組編號, 按月份字串進行分組, date值升序進行排序編號:

row_number()over(partitionbyleft(convert(nvarchar(10),s.date,120),7)orderbys.date)asidx;

最外面的查詢則按月份分組查詢, 獲取每月前兩個日期date, postdate值

4. SQL語句實現一段時間內的每一個日期的列表

declear int @i
declare varchar(8000) @sql
set @i=1
while(@i<7)
set @sql = select dateget()
set @sql = @sql + dateAdd(day,@i,dateget())
@i = @i+1
end
exce @sql
這個是查今天開始7天的日期