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()))