oracle
1°叁柒
今天的努力就是明天的希望
展开
-
java main方法 测试连接数据库
private static String driver = "oracle.jdbc.driver.OracleDriver", jdbc_url = "jdbc_url=jdbc:oracle:thin:@localhost:1521:dbname", username = "uname",pwd = "pwd";private List<Map<String,Object>> list;public static void main(String[] arg.原创 2020-09-01 15:27:06 · 1578 阅读 · 0 评论 -
oracle 查询某列 不是纯数字
select VC_ID,VC_NUM,length(translate(VC_NUM, ' 0123456789', ' ')),t.rowidfrom 表名 t WHERElength(translate(TRIM(VC_NUM), ' 0123456789', ' '))>1原创 2019-06-11 16:32:02 · 2147 阅读 · 0 评论 -
oracle 查看正在执行的语句
1、查询Oracle正在执行的sql语句及执行该语句的用户SELECT b.sid oracleID, b.username Oracle用户, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, b.machine 计算机名 FROM...原创 2019-04-02 14:21:49 · 17902 阅读 · 0 评论 -
oracle 系统时间 加 一秒、一分钟、一小时、一天
trunc(sysdate,'yyyy-mm-dd hh24:mi') 是取当前系统时间。+1/24 就是加上一小时。以此类推sysdate+1 加一天sysdate+1/24 加1小时sysdate+1/(24*60) 加1分钟sysdate+1/(24*60*60) 加1秒钟...原创 2018-12-03 09:22:15 · 17014 阅读 · 0 评论 -
oracle 在where条件中写case when
业务:当状态等于2时判断表中的userid 是否和当前登录人id相等 SELECT * FROM tbname t WHERE 1=1AND (CASE WHEN t.vc_state = '2' THEN t.vc_userId ELSE 当前登录人id END ) = 当前登录人id...原创 2018-03-20 15:16:32 · 50051 阅读 · 1 评论 -
oracle 获取某一个时间段内中间含有哪几个月
(1)不含开始日期,含结束日期SELECT to_char(add_months(to_date(SUBSTR('2016-11-01',0,7),'yyyy-mm'),ROWNUM),'YYYY-MM')AS vc_monthFROM all_objects WHERE ROWNUM (SELECT months_between(to_date(SUBSTR('2017-原创 2017-11-21 16:15:07 · 1319 阅读 · 0 评论 -
oracle 查询某一时间段内每个月的最后一天
SELECT TO_NUMBER(SUBSTR(VC_SGKSRQ, 0, 4)) YEAR,TO_NUMBER(SUBSTR(VC_SGKSRQ, 6, 2)) MONTH, MAX(TO_NUMBER(SUBSTR(VC_SGKSRQ, 9, 2))) DAY FROM (SELECT SUBSTR(STATSTIME, 1, 10) VC_SGKSRQ FR原创 2017-11-08 16:27:17 · 7209 阅读 · 0 评论 -
plsql 调用存储过程
打开sql 命令窗口如果有输出参数,请先声明。如var str VARCHAR2(50);调用存储过程 exec proname(参数1,参数2,。。。。,:str); //输出参数前加:原创 2017-10-30 11:04:56 · 6173 阅读 · 0 评论 -
oracle 子父表关联查询以父表作为查询分页对象
//t1 为主表,t2为子表 //分页原则 先将主表分页,再查子表内容SELECT t1.*,t2.*FROM TABLENAME1 t1,TABLENAME2 t2 WHERE t1.ID = t2.PIDAND t2.PID IN(SELECT ID FROM(SELECT ID,rownum FROM TABLENAME1 WHERE rownum (pageNum-1)*原创 2016-07-26 16:58:24 · 1383 阅读 · 0 评论 -
Oracle查询一批数据,某字段的内容有重复数据,怎样取相同的记录中时间最近的一条
select * from jd_t_sb_wxtz$dc$jxjl a, (select max(vc_date) maxtime,vc_pid from jd_t_sb_wxtz$dc$jxjl group by vc_pid ) bwhere a.vc_date=b.maxtime and a.vc_pid=a.vc_pid原创 2016-04-18 11:24:24 · 7262 阅读 · 0 评论 -
oracle mod 表达式
语法:MOD(number,divisor)参数:Number 为被除数。Divisor 为除数。如果 divisor 为零,函数 MOD 返回值 为原来number说明:函数MOD可以借用函数 INT 来表示:MOD(n, d) = n - d*INT(n/d)在pl/sql dev中验证mod(3,-2) (2张)原创 2016-03-24 17:11:10 · 2559 阅读 · 0 评论 -
数据库 a表左连接b表,a中一条数据对应b中多条数据,如何只取b表中createDate最大的一条
CREATE TABLE a (id INT)CREATE TABLE B(cid INT,createDate DATETIME) INSERT INTO a SELECT 1 UNIONSELECT 2 INSERT INTO b SELECT 1,'2016-02-19'UNI原创 2016-02-19 17:41:03 · 42491 阅读 · 6 评论 -
oracle 按时间分组 sql 语句
select substr(t.time,0,8) as 时间,count(*) as 总数,round(avg(t.core)/1000,3) as 平均值from tablename tgroup by substr(t.time,0,8) order by substr(t.time,0,8); 该表中的列为varchar2() eg:201301051040原创 2013-01-05 10:37:02 · 663 阅读 · 0 评论 -
java - hibernate 插入oracle 数据库 默认值sysdate
在hibernate生成的配置文件中加入dynamic-insert="true" dynamic-update="true"就OKdynamic-insert="true" 是生成数据时 的时间dynamic-update="true" 是修改数据时的 时间 只是说可能不是很懂 上代码 dynamic-update="true" table原创 2012-12-14 15:25:41 · 2687 阅读 · 0 评论 -
一个使用oracle存储过程分页的小例子
1, 建一个程序包。如下: CREATE OR REPLACE PACKAGE TESTPACKAGE AS TYPE Test_CURSOR IS REF CURSOR; end TESTPACKAGE; 2,建立存储过程,存储过程为: create or replace procedure TESTC(p_CURSOR out TESTPACKAGE.Test_CURS转载 2012-11-30 09:10:29 · 438 阅读 · 0 评论