Oracle中几个关于日期方面的SQL实例
№1:取得当前日期是本月的第几周
SQL> select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from
dual;
TO_CHAR(SYSDATE,'YY
-------------------
20030327 4 18:16:09
SQL> select to_char(sysdate,'W') from dual;
T
-
4 №2:取得当前日期是一个星期中的第几天,注重星期日是第一天
SQL> select
sysdate,to_char(sysdate,'D') from dual;
SYSDATE T
--------- -
27-MAR-03 5 类似: select to_char(sysdate,'yyyy') from dual;
--年
select to_char(sysdate,'Q' from dual; --季
select to_char(sysdate,'mm') from dual; --月
select to_char(sysdate,'dd') from dual; --日
ddd 年中的第几天
WW 年中的第几个星期
W 该月中第几个星期
D 周中的星期几
hh 小时(12)
hh24 小时(24)
Mi 分
ss 秒 №3:取当前日期是星期几中文显示:
SQL> select
to_char(sysdate,'day') from dual;
TO_CHAR(SYSDATE,'DAY')
----------------------
星期四 №4:假如一个表在一个date类型的字段上面建立了索引,如何使用
alter session
set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
№5: 得到当前的日期
select sysdate from dual; №6: 得到当天凌晨0点0分0秒的日期
select trunc(sysdate) from dual; -- 得到这天的最后一秒
select trunc(sysdate) + 0.99999 from dual; -- 得到小时的具体数值
select trunc(sysdate) + 1/24 from dual; select trunc(sysdate) + 7/24
from dual; №7:得到明天凌晨0点0分0秒的日期
select trunc(sysdate+1)
from dual; select trunc(sysdate)+1 from dual;
№8: 本月一日的日期
select trunc(sysdate,'mm') from dual;
№9:得到下月一日的日期
select trunc(add_months(sysdate,1),'mm') from dual; №10:返回当前月的最后
一天?
select last_day(sysdate) from dual;
select last_day(trunc(sysdate)) from dual;
select trunc(last_day(sysdate)) from dual;
select trunc(add_months(sys
相关文档:
自:http://blog.csdn.net/AJAXBloger/archive/2007/08/29/1764506.aspx
子查询:
使用子查询的原则
1.一个子查询必须放在圆括号中。
2.将子查询放在比较条件的右边以增加可读性。
子查
询不包含 ORDER BY 子句。对一个 SELECT 语句只能用一个 ORDER BY 子句,
并且如果指定了它就必须放在主
SELECT 语句的最 ......
char、varchar、text和nchar、nvarchar、ntext
char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定
的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变 ......
具有固定有效位数和小数位数的数值资料类型。
decimal[ (p[ , s] )] and numeric[ (p[ , s] )]
固定有效位数和小数位数的数字。当使用最大有效位数时,有效值是从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义字是 dec 和 dec(p, s)。numeric 的功能相当於 decimal。
p (有效位数)
可储存的最大十进位数总数,小 ......
学习sql的必经问题。
学生表student (id学号 Sname姓名 Sdept所在系)
课程表Course (crscode课程号 name课程名)
学生选课表transcript (studid学号 &nbs ......
表分区维护:
添加分区:
Alter table student add partition 分区名 values less than(100);
删除分区:
Alter table student drop partition 分区名;
截短分区:
Alter table student truncate partition 分区名;
合并分区:
Alter table student merge partitions 分区名,...,分区名 into partition 新分区名; ......