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;
分享到:
相关推荐
标题 "chs_sql2ksp3(Sql补丁sp3版)" 指的是SQL Server 2000的一个中文语言版本的Service Pack 3 (SP3) 补丁。这个补丁是微软为解决SQL Server 2000中存在的各种问题和提升系统性能而发布的。SQL Server 2000是一款...
sql2ksp4 补丁
SQL2KSP4 instcat.sql
### 使用Java连接SQL Server数据库详解 #### 一、概述 在进行Java开发过程中,经常会遇到与数据库交互的需求,其中SQL Server作为一款广泛使用的数据库管理系统,其与Java的集成显得尤为重要。本文将详细介绍如何...
sql转化到ora,也许对大家有帮助
Sql2.Train OfChina信息.sql,Sql2.Train OfChina信息.sql Sql2.Train OfChina信息.sql Sql2.Train OfChina信息.sql
Microsoft® SQL Server™ 2000 安装程序创建新的 SQL Server 2000 安装或升级早期版本
Sql2Employee信息.sql Sql2Employee信息.sql Sql2Employee信息.sql Sql2Employee信息.sql
sql2查询汇总信息.sql sql2查询汇总信息.sql sql2查询汇总信息.sql sql2查询汇总信息.sql sql2查询汇总信息.sql
SQL2_task.sql
### 从SQL Server 2000升级至SQL Server 2008 R2的关键知识点 #### 一、系统及浏览器需求 - **操作系统要求**: - Windows XP SP3 及其以上版本 - Windows Vista SP1 及其以上版本 - Windows 7 - Windows 2008 ...
sql2sql-1.0.1.tar.gz
迷你SQL2Kv1.3.0,最小的自学sql之一
SQL Server 2016 SP2 补丁 SQLServer2016SP2-KB4052908-x64-CHS
北大青鸟sql1.增加学生记录.sql 北大青鸟sql1.增加学生记录.sql 北大青鸟sql1.增加学生记录.sql
Microsoft's SQL Server 2008 -- this introductory guide will get you up and running with SQL quickly. Whether you need to write database applications, perform administrative tasks, or generate reports,...
(SQL)(java)