解决方案 »
- 一个表的信息如何关联后横向输出
- ??棘手问题:从SqlServer2000中往Oracle中倒入数据表,可是在Oracle上查询表的时候说这个对象不存在??
- 请问哪里有 小性机 +linux +oracle 的配置方案?
- 求oracle中, 如何把表中一条记录中多行字符串合并成一行字符串----在线等
- 如何导出sql语句
- 新手极急问题
- 如何在Oracle中创建数据库?
- 跪求,数据库数据恢复。各位大哥多谢了。
- java.sql.SQLException: No more data to read from socket
- 关系数据库怎样实现模糊查询?
- Oracle ERP克隆后,在 solaris 上 tnsping 不通
- oracle这种操作怎么写
--oracle中时间相关的一些操作Select sysdate from dual --取当前系统时间Select to_char(sysdate , 'YYYY-MM-DD HH:MI:SS') from dual --取当前系统时间,转换为字符串
Select trunc(sysdate) from dual --取当前日期
Select trunc(sysdate , 'MM') from dual --取当前月的第一天
Select trunc(sysdate , 'YYYY') from dual --取当年的元旦
Select to_char(sysdate , 'ss') from dual --取当前时间秒部分
Select to_char(sysdate , 'mi') from dual --取当前时间分钟部分
Select to_char(sysdate , 'HH24') from dual --取当前时间小时部分
Select to_char(sysdate , 'DD') from dual --取当前时间日期部分 Select to_char(sysdate , 'MM') from dual --取当前时间月部分
Select to_char(sysdate , 'YYYY') from dual --取当前时间年部分
Select to_char(sysdate , 'w') from dual --取当前时间是一个月中的第几周(从1日开始算)
Select to_char(sysdate , 'ww') from dual --取当前时间是一年中的第几周(从1.1开始算)
Select to_char(sysdate , 'iw') from dual --取当前时间是一年中的第几周(按实际日历的)
Select to_char(sysdate , 'd') from dual --取当前时间是一周的第几天,从星期天开始,周六结束 Select to_char(sysdate , 'day') from dual --取当前日是星期几,和数据库设置的字符集有关,会输出’Tuesday’ Select to_char(sysdate , 'ddd') from dual --当前日是一年中的第几天 Select Add_months(sysdate , 12) from dual --取一年后的今天 Select sysdate - (sysdate - 100) from dual --取两个日期之间的天数 Select (sysdate - (sysdate - 100)) * 1440 from dual --取两个日期之间的分钟数
Select (sysdate - (sysdate - 100)) * 1440 * 60 from dual --取两个日期之间的秒数
Select months_between(sysdate,sysdate - 100) from dual --取两个日期间隔的月份Select trunc(months_between(sysdate,sysdate - 100)) from dual --取两个日期间隔的月份
Select trunc(last_day(sysdate)) from dual --取当前月的最后一天
Select next_day(sysdate , 1) from dual --取当前日之后第一个星期天,里面的’1’表示取星期日,如果今天正好是星期日,则会显示下一个星期日
1.显示当前时间select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') current_time from dual;/*
CURRENT_TIME
-------------------
2007-09-29 09:29:03
1 row selected
*/select current_date current_time from dual;/*
CURRENT_TIME
----------------
2007-9-29 10:34:
1 row selected
*/2.只显示日期,不显示时间select to_char(sysdate,'yyyy-mm-dd') current_date from dual;/*
CURRENT_DATE
------------
2007-09-29
1 row selected
*/按时间分组求和ID INPUT_DATE NUM
-- ------------------ ---
1 2007-9-29 9:52:53 10
2 2007-9-29 9:53:16 20
3 2007-9-29 9:53:32 30
4 2007-9-29 9:53:41 40
5 2007-9-29 9:53:52 50
6 2007-9-28 9:00:00 60
7 2007-9-28 9:01:00 70
8 2007-9-28 9:02:00 80
9 2007-9-28 10:00:00 901、对上述数据按日期求和,结果如下:
日期 NUM
---------- ----------
2007-09-28 300
2007-09-29 150
--sql语句
select to_char(input_date,'yyyy-mm-dd') 日期 , sum(num) num
from jh01
group by to_char(input_date,'yyyy-mm-dd')--结果
/*
日期 NUM
---------- ----------
2007-09-28 300
2007-09-29 150
2 rows selected
*/2、对数据按每天每小时求和,结果如下:
日期 NUM
------------- ----------
2007-09-28 09 210
2007-09-28 10 90
2007-09-29 09 150--sql语句
select to_char(input_date,'yyyy-mm-dd hh24') 日期 , sum(num) num
from jh01
group by to_char(input_date,'yyyy-mm-dd hh24')--结果
/*
日期 NUM
------------- ----------
2007-09-28 09 210
2007-09-28 10 90
2007-09-29 09 150
3 rows selected
*/3.按日期取num最大值的记录ID INPUT_DATE NUM
-- ---------- ---
9 2007-09-28 90
5 2007-09-29 50--sql
select a.id , to_char(a.input_date,'yyyy-mm-dd') input_date,a.num from jh01 a,
(
select to_char(input_date,'yyyy-mm-dd') input_date, max(num) num
from jh01
group by to_char(input_date,'yyyy-mm-dd')
) b
where to_char(a.input_date,'yyyy-mm-dd') = b.input_date and a.num = b.num /*
ID INPUT_DATE NUM
-- ---------- ---
9 2007-09-28 90
5 2007-09-29 50
2 rows selected
*/
DATE数据类型已包含了日期和时间。
2、别的表是否可以调用不是自己表的constraint约束? 没理解你的意思。字面上看,不能。。
3、多少还是有差异的。比如,modify模式,不能同时修改两个列,而add constraint可以,modify不能指定表空间,add模式可以等等。
4、索引是建立在列上,你的“适应”是个什么概念?
5、/ 表示执行的意思
6、没有必须。即使是单行处理,也可以弄个集合,然后用for等循环,不过,更麻烦了。
关于第四点:适用的意思就是说 建立的东西是否只能使用在建立的索引所指定的单列或者列?
谢谢