这些都是日常经常使用到的一些基本语法,有mysql和orcal,因为日常开发中经常用到这些基础知识。
–order by group by having limit用法:
–1,order by用法
select * from BASEINFO_PSN order by BASEINFO_PSN_ID desc ;
–ASC 是升序,Desc是降序,默认是升序
–2,group by用法
SELECT PSN_NAME ,COUNT(BASEINFO_PSN_ID)FROM BASEINFO_PSN GROUP BY PSN_NAME;
–3,having 用法,having一般跟group by一起使用,having后面的条件是合聚函数
–where是在group by之前,having 是group by分组之后,所以having可以跟聚合函数使用。
SELECT PSN_NAME ,COUNT(BASEINFO_PSN_ID)FROM BASEINFO_PSN GROUP BY PSN_NAME having COUNT(BASEINFO_PSN_ID)>0;
–4 limit用法,limit是表示从什么范围内的数据。(0,99)表示取前100条数据。rownum在orcal中使用类似limit
select * from BASEINFO_PSN where rownum < 101
;
–insert into 表名(列名1,列名2,…) values(值1,值2,…)
–insert into 表名 set 列名=值,列=值,…
–delete from 表名 where 列=值
–truncate table 表名 清空表数据
–update 表名 set 列=值,列=值,…where 更新条件
–select 列 from 表名 where 条件
—distinct去重
—like模糊查询 通配符 % ,_。
/*oracle 中的substr()函数详解
1.substr函数格式 (俗称:字符截取函数),有两种用法格式如下:
格式1: substr(string string, int a, int b);
格式2:substr(string string, int a) ;
解析:
格式1:
1、string 需要截取的字符串
2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)
3、b 要截取的字符串的长度
格式2:
1、string 需要截取的字符串
2、a 可以理解为从第a个字符开始截取后面所有的字符串。
2.实例解析
格式1:
select substr(‘HelloWorld’,0,3) value from dual; //返回结果:Hel,截取从“H”开始3个字符
select substr(‘HelloWorld’,1,3) value from dual; //返回结果:Hel,截取从“H”开始3个字符
select substr(‘HelloWorld’,2,3) value from dual; //返回结果:ell,截取从“e”开始3个字符
select substr(‘HelloWorld’,0,100) value from dual; //返回结果:HelloWorld,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
select substr(‘HelloWorld’,5,3) value from dual; //返回结果:oWo
select substr(‘Hello World’,5,3) value from dual; //返回结果:o W (中间的空格也算一个字符串,结果是:o空格W)
select substr(‘HelloWorld’,-1,3) value from dual; //返回结果:d (从后面倒数第一位开始往后取1个字符,而不是3个。原因:下面红色 第三个注解)
select substr(‘HelloWorld’,-2,3) value from dual; //返回结果:ld (从后面倒数第二位开始往后取2个字符,而不是3个。原因:下面红色 第三个注解)
select substr(‘HelloWorld’,-3,3) value from dual; //返回结果:rld (从后面倒数第三位开始往后取3个字符)
select substr(‘HelloWorld’,-4,3) value from dual; //返回结果:orl (从后面倒数第四位开始往后取3个字符)
格式2:
select substr(‘HelloWorld’,0) value from dual; //返回结果:HelloWorld,截取所有字符
select substr(‘HelloWorld’,1) value from dual; //返回结果:HelloWorld,截取所有字符
select substr(‘HelloWorld’,2) value from dual; //返回结果:elloWorld,截取从“e”开始之后所有字符
select substr(‘HelloWorld’,3) value from dual; //返回结果:lloWorld,截取从“l”开始之后所有字符
select substr(‘HelloWorld’,-1) value from dual; //返回结果:d,从最后一个“d”开始 往回截取1个字符
select substr(‘HelloWorld’,-2) value from dual; //返回结果:ld,从最后一个“d”开始 往回截取2个字符
select substr(‘HelloWorld’,-3) value from dual; //返回结果:rld,从最后一个“d”开始 往回截取3个字符
*/
/*
decode函数用法
decode函数相当于if…else…,只不过语法很简洁
decode()函数用法:
decode(条件,值1,值2,值3……)
当decode条件,值1满足时,就输出值1,值2满足时,就输出值2,。。。。以此类推,
decode(字段值,值1,值2,值3……)
当字段值等于值1 ,则输出值2,否则输出值3
列子:
decode(CXBZ00, ‘Z’, ‘正常’, ‘+’, ‘冲销正账’, ‘-’, ‘冲销负账’) CXBZCN
如果CXBZ00的值是‘Z’,那么值就是‘正常’,如果CXBZ00的值是’+‘, 那么值就是‘冲销正账’,如果CXBZ00的值是’-‘, 那么值就是’冲销负账’
这个还是经常用到的。
*/
/*
replace函数
语法:replace(string,replaced_string,replace_string)
即replace(字符串,被替代字符,替代字符)
参数说明
string:目标字符串,需要进行调整操作的字符串。可为字段,表达式等。
replaced_string:被替代字符串,可为字符,比如“,”、“.”、“{”等。
replace_string:替代字符,为目标替代的字符,若不填字符表示删掉replaced_string。比如将“www.mysql.com”中的字符‘.’替代为“,”,即replace(“www.mysql.com”,‘.’,‘,’);若直接删掉‘my’则为replace(“www.mysql.com”,‘.’,‘’)
oracle REPLACE 函数是用另外一个值来替代串中的某个值。
例如,可以用一个匹配数字来替代字母的每一次出现。REPLACE 的格式如下所示:
REPLACE ( char, search_string [, replace_string]) 如果没有指定replace_string 变量的值,那么当发现search_string 变量的值时,就将其删除。输入可以为任何字符数据类型——CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB或NCLOB。
eg:
select replace(‘0123456789’,‘0’,‘a’) from dual;–a123456789
select replace(‘0123456789’,‘0’,‘’) from dual;–123456789
select replace(‘0123456789’,‘0’) from dual;–123456789
*/
–to_char与to_date的用法
–to_char
–to_char 语法 : to_char(日期 , ‘日期格式’)
–作用 : 将日期通过指定格式进行字符串转换 Date => String
–to_date
–to_date 语法 :to_date(字符串 , ‘日期格式’)
–作用 : 将字符串通过指定格式进行日期转换 String => Date
–to_char是将日期转成字符串,to_date()是将字符串转成日期。