SQL
文章平均质量分 50
youngxuebo
这个作者很懒,什么都没留下…
展开
-
MySQL中trim()函数的用法
trim函数可以过滤指定的字符串:完整格式:TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)简化格式:TRIM([remstr FROM] str)mysql> SELECT TRIM(' bar '); -> 'bar' mysql> SELECT TRIM(LEADING '?' FROM '???bar???'); --删除指定的首字符 x -> 'bar??原创 2021-10-25 13:45:27 · 2769 阅读 · 0 评论 -
group by ,grouping sets ,cube ,rollup区别
grouping sets在一个GROUP BY查询中,根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UNION ALL。select month, day, count(distinct cookieid) as uv from cookiegroup by month,daygrouping sets (month,day)等价于:SELECT month,NULL,COUNT(DISTINCT cookieid) AS原创 2021-09-02 17:21:20 · 284 阅读 · 0 评论 -
MongoDB、ElasticSearch、RDMS类比
SQL术语/概念MongoDB术语/概念ElasticSearch术语/概念解释/说明databasedatabaseIndex数据库tablecollectiontype数据库表/集合rowdocumentdocument数据记录行/文档columnfieldfield数据字段/域index索引table joins表连接,MongoDB不支持primary keyprimary key主键,MongoD...原创 2021-06-20 23:02:48 · 122 阅读 · 0 评论 -
限定返回行数,查询前几行数据(limit,rownum)
问题:你想限定查询结果的行数。不关心排序,返回n条数据。解决方式:使用数据库内置功能来控制:(1)DB2:select * from t_table fetch first 5 rows only;(2)MySql、PostgreSql:select * from t_table limit 5;(3)Oracle:select * from t_table where rownnum <= 5;(4)sql server:select top 5 *原创 2021-06-10 09:47:05 · 622 阅读 · 1 评论 -
对含有字母和数字的列排序(replace函数和translate函数用法)
需求:字段混合了字母和数字的数据,希望按照字母部分或者数字部分进行来排序。如元数据为:需要按照该字段后面的数字进行排序。那么,余光一扫,就会想到最简单的方法就是按照该字段的长度进行截取字符串,然后在排序,如:SELECT DATA_INFO,substr(DATA_INFO,length(DATA_INFO)-1,2)AS SORTED FROM DATATEST ORDER BY 2;这里的 ORDER BY 2,就是 SELECT 的第二个字段 SORTED ,等价于 OR..原创 2021-05-20 19:22:28 · 1368 阅读 · 4 评论 -
处理空值,把 Null 值转换为实际值(coalesce,nvl 函数用法)
问题:有一些行包含了 Null 值,但是需要在程序报表中或者在数据库返回结果中将其替换为非 Null 值。解决方式:需要为 COALESCE 函数指定一个或这多个参数。该函数会返回参数列表里的第一个非Null值。则使用COALESCE函数将 Null 值替代为实际的值。若 comm 不为 Null,会返回 comm 值,否则将 comm 替代为 0,返回 0。select coalesce(comm,0) from empCOALESCE 函数用法:两种用法:1.COALESCE (原创 2021-05-18 21:57:07 · 2551 阅读 · 0 评论 -
串联多列的值,如mysql中concat的用法。
问题:将多列的值合并为一列。例如将 emp 表中的 ename,job 字段合并。marry work as a managerking work as a presidentandy work as a clerk例如原始数据为:select ename,job from emp where deptno = '1'上述sql结果集为:enameenamejobmarrymanagerkingpresidentandyclerk解决方案原创 2021-05-17 21:46:48 · 340 阅读 · 0 评论 -
sql 中 mod()函数取余数的基础用法
Mod(a,b) 在sql中的意思是 a / b 的余数(即 a /%b )基础用法:如果id需要是偶数或者奇数时就可以使用mod。mod(id,2)=1 是指id是奇数。mod(id,2)=0 是指id是偶数。select mod(3,2) from dual原创 2021-03-23 10:17:58 · 14069 阅读 · 2 评论 -
decode函数用法
decode 函数在sql中作用相当于case when,意思是根据某一字段的值作为条件,根据这个条件进行输出。例如 case when 语句:例如:根据身份证判定该员工是否是男女,从而实现对性别的更新。身份证号的第17位数字,奇数为男性,偶数为女性SEX CHAR(1) NOT NULL, --** 性别: 1 男,2 女UPDATE table_name SET SEX = (CASE WHEN mod(identifynumber[17],2) = '1' THEN '1' ELSE '原创 2021-05-11 16:51:09 · 26610 阅读 · 2 评论