Sql语句
付月半子
月亮很亮,亮也没用,没用也亮。
展开
-
【mysql】 将一列用符号拼接成一行&&拆分一个逗号拼接的字符串为多行
表t_work_order_type 的字段task_id为用逗号拼接的字符串1.拆分一个逗号拼接的字符串:用SUBSTRING_INDEXSELECT DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(a.path,',',b.help_topic_id + 1),',',-1) task_id FROM (SELECT task_id as path from t_work_order_type) a JOIN mysql.help_...原创 2021-07-08 09:42:28 · 403 阅读 · 0 评论 -
sql:postgres的string_agg 与mysql的group_concat作用一样
作用:将列合并为一个字段,用符号隔开。区别:分组排序和分隔符位置不一样、分隔符用法不一样。string_agg(re.zdres, ';' order by re.msly asc,re.zxd desc)group_concat(re.zdres order by re.msly asc,re.zxd desc separator ';')...原创 2021-07-06 09:23:24 · 647 阅读 · 0 评论 -
postgres 查询某模式下,所有表的名称及字段信息
with res_table as ( SELECT "table_name",obj_description ( oid, 'pg_class' ) FROM information_schema.tables t1, pg_class t2 WHERE table_schema = '模式名称' AND t1."table_name" = t2.relname ) SELECT res_table.*, a.attname as 属性名称,col_descrip..原创 2020-11-17 14:53:01 · 4022 阅读 · 0 评论 -
postgres、mysql计算字段里出现某字符的次数
SELECT array_length(regexp_split_to_array(gs.gss,'ss'),1)-1 as num from table gs若有特殊字符,用\转译如下,查询 /* 和 */出现的次数不相等的记录:(*是特殊字符)SELECT * from (SELECT array_length(regexp_split_to_array(gs.gss,'/\*'),1)-1 as le, array_length(regexp_split_to_...原创 2020-09-25 17:33:05 · 2912 阅读 · 0 评论 -
sql语句中left join和inner join中的on与where的区别分析
INNER JOIN 的ON条件和WHERE条件影响的都是一个效果,影响整体的查询结果。LEFT JOIN 查询,对于ON的单独表条件始终只会影响条件表的右表 ,RIGHT JOIN 影响效果恰恰相反原文地址:https://www.cnblogs.com/wanglu/p/4390612.html...原创 2020-06-16 10:38:08 · 222 阅读 · 0 评论 -
postgresql的substr()函数
selectsubstr('1234',0,3)asre如果是pg:得到的结果是12如果是oracle:得到的结果是123如果是mysql:得到的结果是空因为pg和mysql的substr()函数的第一个位置都是为1的,pg为0的时候返回数据是有值的,但mysql为0时候返回数据为空了...转载 2020-04-28 11:57:04 · 5482 阅读 · 0 评论 -
oracle中查询重复数据
查询结果集中多个字段相同:select *from表awhere(a.Id,a.seq)in(selectId,seqfrom表groupbyId,seqhaving count(*)>1)例子:with res as ( SELECT '1' id, '小明' mc, '15' age from dual union all SE...原创 2020-04-15 11:28:57 · 1578 阅读 · 0 评论 -
oracle: 1.LISTAGG将一列拼接为一个字段;2.LISTAGG返回值超过4000解决办法(用xmlagg( ).getclobval() )
1. LISTAGG(RISK_FLAG, ',') WITHIN GROUP (ORDER BY END_TIME,ID) SELECT A.EQUIPMENTCODE,LISTAGG(RISK_FLAG, '') WITHIN GROUP (ORDER BY END_TIME,ID) AS RISK_FLAG_ALL FROM( SELECT...原创 2019-08-01 10:09:35 · 2648 阅读 · 1 评论 -
oracle树中prior的用法
参考地址:https://blog.csdn.net/lchen1983/article/details/5258309 Oracle中:从子节点查询,直到根节点的一个分支;或者从根节点查询,知道字节点的许多分支;可以用proir 总结:1)prior放在子节点端,则表示扫描树是以start with指定的节点作为根节点从上往下扫描。可能对应一个或多个分支。start wit...原创 2019-01-31 11:30:47 · 4240 阅读 · 0 评论 -
mySql中case when
SELECT CATEGORY_NAME AS Name, CASE STATE WHEN "1" THEN "有效" WHEN "0" THEN "失效" END AS "状态" FROM cc_notification_busi_category ;原创 2017-11-02 15:53:28 · 208 阅读 · 0 评论 -
Hql关键字列表:
ALLANYANDASASCENDINGAVGBETWEENCLASSCOUNTDELETEDESCENDINGDOTDISTINCTELEMENTSESCAPEEXISTSFALSEFETCHFROMFULLGROUPHAVINGININDICESINNERINSERTINTOISJOINLEFTLIKEMAXMINNEWNOT...原创 2018-09-13 17:26:22 · 856 阅读 · 0 评论 -
mybatis xml中使用in的sql长度超过1000的解决办法
部分原文链接 https://blog.csdn.net/qq_25246689/article/details/53608597 oracle中 in后面的数据量超过1000后会报错,在修改最小的情况下做了点小修改,让in后面的数据分隔为多个不超过999的list集合。错误:### Error querying database. Cause: java.sql.SQLSy...原创 2018-08-01 15:28:17 · 19775 阅读 · 2 评论 -
【regexp_like】 代替了老的百分号(%)和通配符(_)字符
protected void addCriterion1(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(...原创 2018-06-26 10:27:01 · 1057 阅读 · 0 评论 -
sql执行顺序 where--group by--having--order by
查询中用到的关键词主要包含六个,并且他们的书写顺序依次为select--from--where--group by--having--order by其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序与sql语句的书写顺序并不是一样的,执行顺序是按照下面的顺序来执行from--where--group by--having--select-order by,from:需...转载 2018-06-06 09:59:00 · 288 阅读 · 0 评论 -
Oracle中截取字符串常用函数SUBSTR、INSTR
例句:SUBSTR(l.full_path_name, INSTR(l.full_path_name, '/',1,2)) logicname效果: /总目录/子目录1/子目录2 ------> /子目录1/子目录2 解析:substr(字符串,截取开始位置,截取长度) //返回截取的字substr(字符串,截取开始位置) //截取到最后一个字符instr('源字符串' , '...原创 2018-06-05 10:36:18 · 14986 阅读 · 0 评论 -
mysql查询当天、本周、最近xx天、本月 的数据
原文链接:http://blog.csdn.net/SunFlowerXT/article/details/70159456?locationNum=13&fps=1-- 当天SELECT * FROM cc_task WHERE to_days(CREATE_DATE) = to_days(now());-- 本周SELECT * FROM cc_task WHERE Y转载 2017-10-13 10:30:59 · 820 阅读 · 0 评论 -
mysql_合并两个表中相同字段
================================================================================================【A】SELECT customer_id from hyperlipemia_supervisor WHERE customer_id LIKE '%%'GROUP BY customer_原创 2017-03-23 16:55:59 · 2288 阅读 · 0 评论