A. 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天的日期
B. 如何用sql實現輸入年月,顯示當月的所有日期例如輸入'2000-02',羅列出02-01,02-02,...,02-29。
variable v_year;
variable v_mounth;
declare
v_date DATE;
v_ndate DATE;
v_count number;
v_day date;
begin
v_date :=to_date(01||'-'||:v_month||'-'||:v_year);
v_ndate :=(v_date + interval '1' month);
v_count :=(v_ndate-v_date);
for i in 0..(v_count-1) loop
v_day :=v_date+i;
dbms_output.put_line(v_day);
end loop;
end;
_______________________________________
我是用oracle pl/sql做的,希望可以幫到你
C. sql把表中所有欄位的日期提起出,然後對應將欄位填入
沒看懂您想要做的操作,能再描述一下嗎,是想要一個什麼樣的輸出結果?
D. SQL資料庫中的是年月日時分秒格式的,什麼語句能實現年月日的查詢
1、SEELCT *from表名where日期='年月日'
2、查詢:
declare @date varchar(20)
set @date = '2013-06-06 13:30:25' +'%'
SELECT *FROMTELEPHONE_HISTORYWHERECONVERT(VARCHAR(20) ,RECVTIME, 120)
LIKE @date
其中:CONVERT(VARCHAR(20) ,RECVTIME, 120) 就是將日期 類型轉 「YYYY-MM-DD HH:MM:SS」 格式的字元類型。
(4)sql如何實現所有日期對應擴展閱讀:
SQL (Structured Query Language) 是具有數據操縱和數據定義等多種功能的資料庫語言,這種語言具有交互性特點,能為用戶提供極大的便利,資料庫管理系統應充分利用SQL語言提高計算機應用系統的工作質量與效率。
條件查詢
條件查詢即帶有WHERE子句的查詢,所要查詢的對象必須滿足WHERE子句給出的條件。
例:找出任何一門課成績在70以上的學生情況、課號及分數
SELECT UNIQUE student.st_class,student.st_no,student.st_name,student.st_sex,student.st_age,score.su_no,score.score
FROM student,score
WHERE score.score>=70 AND score.stno=student,st_no
這里使用UNIQUE是不從查詢結果集中去掉重復行,如果使用DISTINCT則會去掉重復行。另外邏輯運算符的優先順序為NOT→AND→OR。
例:找出課程號為c02的,考試成績不及格的學生
SELECT st_no
FROM score
WHERE su_no=『c02』 AND score<60
E. 如何得到一段時間內的所有的日期SQL Server
select b.date
from
(select @num := @num +1,
DATE_FORMAT(ADDDATE(DATE_SUB('2019-01-01',INTERVAL 1 DAY),INTERVAL @num DAY),'%Y-%m-%d') as date
FROM t_order,
(select @num :=0) t
where
ADDDATE('2019-01-01',INTERVAL @num DAY) <= DATE_FORMAT('2019-01-09','%Y-%m-%d')
order by date) as b
2019-01-01為開始日期,2019-01-09為你動態傳入的截至日期,t_order為我自己數據的一張表,這個根據自己資料庫來指定,希望能幫到你
F. sql將開始和結束時間查詢出所有日期,並將所有日期與原數據表進行拼接
原理就是用一張序列表, 一般來說系統表裡的序列id
用起始日期加上數字序列就是之後的每一個+1的日期
G. SQL語句只能查單日數據,如何可以查所有,並且跟日期一一對應
什麼版本的資料庫?
H. SQL怎麼實現所有日期對應的上一工作日和下一工作日
select dateadd( day, -1, getdate() ) 上一工作日,
getdate() 當前工作日,
dateadd(day,1,getdate() ) 下一工作日
I. 如何用SQL返回兩個日期之間的所有連續日期
在層次查詢中,Oracle引入了一個偽列level,用來表示當前行(節點)對應的level,
它從1開始計數,每多一層level的值就加1。
我們可以據此實現對兩個日期/整數之間所有日期/整數的遍歷。
----------------------------------------------------------
SQL> create table test (begin_date date,end_date date);
Table created
SQL> insert into test values(trunc(sysdate),trunc(sysdate+5));
1 row inserted
SQL> select * from test;
BEGIN_DATE END_DATE
----------- -----------
2010-4-6 2010-4-11
SQL> select begin_date,end_date,begin_date+level -1 as today
2 from test
3 connect by begin_date + level -1 <= end_date;
BEGIN_DATE END_DATE TODAY
----------- ----------- -----------
2010-4-6 2010-4-11 2010-4-6
2010-4-6 2010-4-11 2010-4-7
2010-4-6 2010-4-11 2010-4-8
2010-4-6 2010-4-11 2010-4-9
2010-4-6 2010-4-11 2010-4-10
2010-4-6 2010-4-11 2010-4-11
6 rows selected
------------------------------------------------------------------插入兩條記錄,看該查詢語句是否可行
SQL> insert into test values(trunc(sysdate+4),trunc(sysdate+7));
1 row inserted
SQL> select * from test;
BEGIN_DATE END_DATE
----------- -----------
2010-4-6 2010-4-11
2010-4-10 2010-4-13
SQL> select distinct begin_date+level-1 as today
2 from test
3 connect by begin_date+level-1 <= end_date;
TODAY
-----------
2010-4-7
2010-4-13
2010-4-8
2010-4-11
2010-4-9
2010-4-6
2010-4-10
2010-4-12
8 rows selected
--------------------------------------- 根據最大和最小值得查詢
SQL> delete from test where begin_date = to_date('2010-4-10','yyyy-mm-dd');
1 row deleted
SQL> select * from test;
BEGIN_DATE END_DATE
----------- -----------
2010-4-6 2010-4-11
SQL> SELECT one_date
2 FROM (SELECT start_date + level - 1 one_date
3 FROM (SELECT min(begin_date) start_date, max(end_date) end_date
4 FROM test) test
5 connect BY start_date + level - 1 <= end_date ) all_date,
6 test
7 WHERE one_date BETWEEN begin_date AND end_date;
ONE_DATE
-----------
2010-4-6
2010-4-7
2010-4-8
2010-4-9
2010-4-10
2010-4-11
6 rows selected
J. 【求各位大神!】SQL查詢出本月所有日期
--MSSQL
--查詢出本年所有日期:
SELECTCONVERT(VARCHAR(10),DATEADD(DD,number,DATENAME(YY,GETDATE())+'0101'),23)
FROMmaster..spt_values
WHEREtype='p'ANDnumber<=DATEDIFF(DD,DATENAME(YY,GETDATE())+'0101',DATENAME(YY,GETDATE())+'1231')
--查詢出本月所有日期:
SELECTCONVERT(VARCHAR(10),DATEADD(DD,number,DATENAME(YY,GETDATE())+DATENAME(MM,GETDATE())+'01'),23)
FROMmaster..spt_values
WHEREtype='p'ANDnumber<DAY(DATEADD(MM,1,GETDATE())-DAY(GETDATE()))