sql
罗小树
这个作者很懒,什么都没留下…
展开
-
Oracle sql技巧--把逗号分隔的字段列根据主键来拆分(类似wm_concat的逆操作)
一、需求说明有如下表sys_team现在需要根据这个表查询出下面的结果(只要101对应21、1201,105对应355、466,拆分后的数据行的顺序没有关系,因为后面可以通过order by再做排序)二、代码实现select distinct t.l_team_id as teamList, regexp_substr(t.vc_user_list, '[^,]+'...原创 2020-04-22 16:26:36 · 769 阅读 · 0 评论 -
mysql中如何获取交集
一、项目需求:需要获取包含一些流程变量(数量不确定,且必须都包含,不能只含其中某几个)的流程实例的实例id二、详细说明:1.流程变量表act_hi_varinst字段:PROC_INST_ID_(流程实例id)、NAME_(变量名)、TEXT_(变量值)图12.现在需要查询包含变量formId=142和approveType=sealApply的对应流程的实例id如...原创 2019-04-02 10:06:20 · 7784 阅读 · 0 评论 -
oracle创建一张与其他表相同表结构的表
oracle创建一张与其他表相同表结构的表--这种构造与现存表相同结构的表,是不会将comment带过来的--A.只是建立t1表,与emp表结构相同,并不添加数据create table t1 as select * from scott.emp where 1=0; --A.只是建立t1表,与emp表结构相同,添加数据create table t1 as select *...转载 2018-07-27 09:32:11 · 23901 阅读 · 0 评论 -
oracle中update语句修改多个字段
如需要修改下列数据:表名为student一般会这样写:update student set sname = '李四', sage = 20, sbirthday = to_date('2010-01-01', 'yyyy-mm-dd'), saddress = '广州市越秀区'where sid = 1;如果字段非常多,这样写就稍微麻烦点,因为待修改字段和...原创 2018-07-04 21:31:58 · 190871 阅读 · 2 评论 -
oracle根据不同条件修改同一字段的值
一、问题说明:现在从my_resource表中查询出如下结果select vc_name from my_resource;需要将查询结果列中的“打款”换成“立项”,“交割”换成“交付”,“结束”换成“退出”,使用update语句实现二、问题解决:1.先考虑如何写查询语句,暂时不做update操作;只考虑其中一个条件,如:“打款”换成“立项”select vc_name, replace(vc_n...原创 2018-07-10 23:46:32 · 10401 阅读 · 2 评论 -
Oracle中的集合运算
差集 minus(参考链接:https://blog.csdn.net/greenappple/article/details/7073349/)A={111,222,333} B={112,223,333},那么A\B={111,222}select * from (select 111 as a from dualunion all select 222 as a from dualuni...原创 2018-06-05 09:16:40 · 411 阅读 · 0 评论 -
java.sql.SQLException:ORA-01861:文字和格式字符串不匹配
1、错误描述 java.sql.SQLException:ORA-01861:文字和格式字符串不匹配2、错误原因 字段名为statis_date在数据库中存储的数据类型是Date,而在Java中拼接SQL语句时传参数却是字符串类型,类型不匹配,导致出错3、解决办法(1)修改数据库中该字段的数据类型 这种方法不太建议(2)修改拼接时传参数方式,将参数利用to_date...转载 2018-05-21 17:51:29 · 3084 阅读 · 0 评论 -
Oracle sql中的单引号
关于sql中的单引号,看以下几个例子:例1:select '张三' as sname from dual;例2:select '''张三''' as sname from dual;例3:select '''''张三''''' as sname from dual;例4:将由单引号包裹的张三,改为由双单引号包裹select replace('原创 2018-04-14 19:17:10 · 2345 阅读 · 0 评论 -
Oracle sql技巧--行列转换
oracle行列转换图1情形一:将查询结果转置(使用pivot和union all将上面的student表转置)图2注:如果不想建student表的话,就在这条sql语句的前面加上1中的前4行select '学号' as item, to_char(mt1.mate1) as mate1, to_char(mt1.mate2) as mate2, to_c...原创 2018-03-21 21:43:22 · 1317 阅读 · 0 评论 -
oracle截取文件后缀名
select substr('pop.kid.orc.txt', instr('pop.kid.orc.txt', '.', -1), length('pop.kid.orc.txt')) as file_name from dual;参考链接:https://www.2cto.com/database/201412/360306转载 2018-01-10 20:30:31 · 3306 阅读 · 0 评论 -
使当前时间推移几年
假如将时间增加1年(其他年份改数字就行了),sql语句可以这样写方法一:select add_months(sysdate, 12*1) as sdate from dual;方法二:select sysdate + interval '1' year as sdate from dual;参考http://bbs.csdn.net/topics/380002320转载 2018-01-07 11:32:05 · 284 阅读 · 0 评论 -
oracle的一些使用技巧1
1.使用创建临时表with student as (select 101 as sid, '张三' as sname, 10 as sage from dual union select 102 as sid, '李四' as sname, 20 as sage from dual union select 103 as sid, '王五' as sname, 30 as sage fr...原创 2017-10-31 18:52:34 · 1457 阅读 · 0 评论 -
将数据库中的纵向排列数据改写成横向排列数据
编写一条sql语句将表1(stuScore)中的纵向排列数据改写成表2表1(stuScore):idstuNamecourseNamescore1大李语文99.52大李数学79.53大李英语49.54小李语文89.55小李数学69.5原创 2017-08-22 19:09:39 · 5891 阅读 · 0 评论