Oracle数据库
文章平均质量分 51
当时年少春衫薄丶
计算机软件
展开
-
mysql与oracle实现行转列并指定分隔符
我的需求是要把项目中区域表(sys_area)中的区域名称查出来组合到一起并且用-分隔:mysql实现:select GROUP_CONCAT(a.name order by a.type SEPARATOR '-') as nameFROM sys_area a WHERE a.id in('0','1','2','8','61','136','215')Oracle实现:select LISTAGG(to_char(a.name), '-') WITHIN GROUP (ORDER B原创 2022-01-27 17:09:20 · 1090 阅读 · 0 评论 -
Oracle项目转Mysql的sql语句改造总结
最近公司有个项目需要将之前的Oracle版本转换为Mysql版本,除了需要修改配置外,最主要的就是sql语句的修改,现将改造过程中修改过的sql函数记录如下:1.日期转换:to_char-->date_format(a.order_date,'%Y-%m-%d%H:%i:%s')to_date -->str_to_date(#{orderDate},'%Y-%m-%d%H:%i:%s')2.获取当前日期 sysdate --> sysdate()3.字符串拼接...原创 2021-10-15 10:54:34 · 1616 阅读 · 0 评论 -
Oracle常用函数trim、trunc、decode、nvl、instr用法记录
1.trim():去除字符串首尾空格。2.trunc():一般和sysdate一起使用,起到获取所需要的日期的作用:SELECT trunc(sysdate) "截取到当天", trunc(sysdate,'year') "截取到年第一天", trunc(sysdate,'month') "截取到月第一天", trunc(sysdate,'day') "截取到周第一天", trunc(sysdate,'hh24'...原创 2021-06-30 10:19:36 · 1242 阅读 · 1 评论 -
Oracle定时任务dbms_job使用详解
项目中遇到一个给表中某个字段每天递增20的需求,用的是oracle数据库,遂想到用dbms_job来实现。一、先创建递增20的存储过程( TEST_DSRW表num字段递增):create or replace procedure proce_sum isbegin update TEST_DSRW t set t.num=((select numfrom TEST_DSRW)+20);commit;end proce_sum;二、创建job任务(每天0点执行一次):DECLAR..原创 2021-04-30 15:16:05 · 5377 阅读 · 0 评论 -
oracle 模糊查询语法
示例说明:通过name字段模糊匹配t_user表中的数据select * from t_user t where (instr(t.name,#{name}) > 0 or instr(fn_getpy(t.name,3),#{name}) > 0 or instr(fn_getpy(t.name,4),#{name}) > 0)其中:(instr(t.name,#{name}) > 0 通过汉字模糊匹配 例: name为维克托,输入维克托三个字中的任...原创 2021-04-09 15:33:33 · 1631 阅读 · 0 评论 -
Jsp中连接数据库写sql查询
连接Oracle(thin模式)<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%> <% String url="j原创 2017-08-04 14:31:05 · 3212 阅读 · 1 评论 -
Oracle序列
创建序列:CREATE SEQUENCE SYSTEM_ID_SEQ(序列名)MINVALUE 1MAXVALUE 99999999START WITH 1INCREMENT BY 1 步增量CACHE 20;--定义存放序列的内存块大小,默认为20,对序列进行内存缓存可以改善序列的性能。 nocache表示不对序列进行缓存。查询序列的当前值:sele原创 2017-08-02 14:05:22 · 195 阅读 · 0 评论 -
Oracle多表连接查询
两张表没有连接条件时(这个看情况用,数据多的时候没有做过验证):select a.*,b.* from (select ROW_NUMBER() over(order by Id) as rn,* from A) a left outer join (select ROW_NUMBER() over(order by Id) as rn,* from B) b on a.rn=原创 2017-08-02 13:59:12 · 390 阅读 · 0 评论 -
Oracle对于表中字段的相关操作
增加字段:alter table t_student add name varchar(32);修改表列名:alter table 表名 rename column name to name1;修改字段类型:alter table t_student modify age number(16);删除字段:alter table t_student drop column n原创 2017-08-02 13:49:40 · 235 阅读 · 0 评论 -
Oracle数据库用cmd命令行导入导出dmp数据文件
导入执行命令:imp userid=用户名/密码@orcl file=d:\daochu.dmp full=y数据导出: 1.将用户里的数据库完全导出,用户名system 密码manager 导出到D盘根目录下: exp system/manager@用户名 file=d:\daochu.dmp full=y 2.将T_TEST表导出: exp 用户名/密码 f原创 2017-08-02 13:41:23 · 1810 阅读 · 0 评论