Q]怎么获得今天是星期几,还关于其它日期函数用法
[A]可以用to_char来解决,如
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
在获取之前可以设置日期语言,如
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
还可以在函数中指定
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
其它更多用法,可以参考to_char与to_date函数
如获得完整的时间格式
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
随便介绍几个其它函数的用法:
本月的天数
SELECT to_char(last_day(SYSDATE),'dd') days FROM dual
今年的天数
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
下个星期一的日期
SELECT Next_day(SYSDATE,'monday') FROM dual
[Q]随机抽取前N条记录的问题
[A]
select * from (select a.* ,rownum t from tablename a order by sys_guid()) where t<N
[Q] 如何产生随机数
[A]
dbms_random包需要手工安装,位于$ORACLE_HOME/rdbms/admin/dbmsrand.sql
dbms_random.value(100,200)可以产生100到200范围的随机数
[Q]抽取从N行到M行的记录,如从20行到30行的记录
[A]select * from (select rownum id,t.* from table t where ……
and rownum <30) where id > 20;
[Q]怎么样抽取重复记录
[A]select * from table t1 where where t1.rowed !=
(select max(rowed) from table t2
where t1.id=t2.id and t1.name=t2.name)
或者
select count(*), t.col_a,t.col_b from table t
group by col_a,col_b
having count(*)>1
如果想删除重复记录,可以把第一个语句的select替换为delete
[Q]怎么样设置自治事务
[A]8i以上版本,不影响主事务
pragma autonomous_transaction;
……
commit|rollback;
[Q]怎么样在过程中暂停指定时间
[A]DBMS_LOCK包的sleep过程
如:dbms_lock.sleep(5);表示暂停5秒。
[Q]怎么样快速计算事务的时间与日志量
[A]可以采用类似如下的脚本
DECLARE
start_time NUMBER;
end_time NUMBER;
start_redo_size NUMBER;
end_redo_size NUMBER;
BEGIN
start_time := dbms_utility.get_time;
SELECT VALUE INTO start_redo_size FROM v$mystat m,v$statname s
WHERE m.STATISTIC#=s.STATISTIC#
AND s.NAME='redo size';
--transaction start
INSERT INTO t1
SELECT * FROM All_Objects;
--other dml statement
COMMIT;
end_time := dbms_utility.get_time;
SELECT VALUE INTO end_redo_size FROM v$mystat m,v$statname s
WHERE m.STATISTIC#=s.STATISTIC#
AND s.NAME='redo size';
dbms_output.put_line('Escape Time:'||to_char(end_time-start_time)||' centiseconds');
dbms_output.put_line('Redo Size:'||to_char(end_redo_size-start_redo_size)||' bytes');
END;
分享到:
相关推荐
sql2ksp4 补丁
SQL2KSP4 instcat.sql
sql转化到ora,也许对大家有帮助
Sql2.Train OfChina信息.sql,Sql2.Train OfChina信息.sql Sql2.Train OfChina信息.sql Sql2.Train OfChina信息.sql
Sql2Employee信息.sql Sql2Employee信息.sql Sql2Employee信息.sql Sql2Employee信息.sql
sql2查询汇总信息.sql sql2查询汇总信息.sql sql2查询汇总信息.sql sql2查询汇总信息.sql sql2查询汇总信息.sql
SQL2_task.sql
sql2sql-1.0.1.tar.gz
迷你SQL2Kv1.3.0,最小的自学sql之一
SQL Server 2016 SP2 补丁 SQLServer2016SP2-KB4052908-x64-CHS
北大青鸟sql1.增加学生记录.sql 北大青鸟sql1.增加学生记录.sql 北大青鸟sql1.增加学生记录.sql
1. 双击软件chs_sql2ksp3.exe,解压缩文件夹 sql2ksp3。 2. 选择“是”,在 C 盘创建文件夹 sql2ksp3。 3. 转到 C 盘目录下,新创建 sql2ksp3 文件夹,打开文件夹,文件夹下有 setup.bat,双击。 4. 点击“下一步”...
这个工具用来将创建Oracle属性表的SQL语句转换为Excel文档,继而可以将Excel的内容复制到word文档中,实现快速编写数据库说明和数据库设计文档的辅助工具。 改程序在vs2008环境下编译运行。
sql 语句学习 sql sql sqlsql 语句学习 sql sql sql
Microsoft SQL Server 2000 Service Pack 3a复制组件(sql2kxxsp3a.msi)在IIS机器中安装 SQL Server CE 2.0 及 SQL Server 2000 SP4 复制组件。 该组件用于把移动设备中的SQL Server CE 2.0数据库连接到SQL Server ...
深入浅出sql headfist sql 第二部分
锋利的SQL第二版,大致分为基础篇,开发篇、性能调整篇和实战篇四部分。
SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between ...
Learning SQL, 2nd Edition by Alan Beaulieu,英文原版书籍
DbHelperSQL类,包括对数据库操作的所有方法,如公用方法、执行简单SQL语句、执行带参数的SQL语句、存储过程操作等。