Oracle中有关日期的一些设置
1、select TIMESTAMP'2009-11-03 09:26:50.124' from dual --默认毫秒保存六位
2、此语句只能在服务器端运行,如果执行以下操作,则在插入oracle时,可以直接写nls_date_format设定的格式,但是只能针对一次绘画,如果关掉窗口则失效。
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss’ --只会修改此次会话
3、为解决2中遇到的问题,则可以在server端修改init.ora 这个文件,设nls_date_format='yyyy-mm-dd hh24:mi:ss' 这个会影响整个数据库,建义通知管理员。
4、
select to_timestamp('2008-10-17 22:38:25.3656','yyyy-mm-dd hh24:mi:ss.ffx') from dual;
5、查询毫秒保留FF3位数
SELECT to_char(systimestamp,'YYYY-MM-DD HH24:MI:SS.FF3') from DUAL;
6、只能在服务器端运行,这个查询出来的格式,才是插入时要求的格式
select systimestamp from dual;
7、可在服务器端运行,这个查询出来的格式,不一定是插入时要求的格式
select sysdate from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss.ssss') from dual;
相关文档:
用date型字段进行数据检索时需要注意:数据格式化!
此数据格式化不同于用SimpleDateFormat("yyyy-MM-dd")对象进行格式化,而是用Oracle的内置函数to_date()
或标识符date来格式化。
例如:
有个字段是date数据,我想查询某某年度的数据。
错误写法:s ......
--获取两时间的相差豪秒数
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒数 from DUAL;
/*
相差豪秒数
----------
86401000
1 row selected
*/
--获取两时间的相差秒数
select ce ......
查询及删除重复记录的SQL语句
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据 ......
DML(Manipulation):数据操作语言
CRUD
DDL(Definition): 数据定义语言,与表,索引,同义词有关
create,alter,drop,rename,truncate(清空)
DCL(Control): 数据控制语言,与权限有关
grant,revoke
TCL(Transaction Control): 事务控制语言,与事务有关
commit,rollback,savepoint
==========================
存储 ......
1、用dblink链接oracle
(1)与平台无关的写法:
create public database
link cdt connect to apps
identified by apps using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.31.205.100)(PORT = 1541))
)
(CONNECT_DATA =
(SERVICE_NAME = CDT)
)
)'
(2)可以将单引号内的内容 ......