1 2

oracle数据库 部分函数的用法

select * from tab;                               //获取当前用户的数据库的所有表名
select sys_guid(),UserName from TESTLIKUI;       //获取guid

select sys_guid() as "唯一标识",UserName as "用户名", Password as pwd  from TESTLIKUI;         //as后为别名,sys_guid为数据库临时创建的guid

select distinct(password) as pwd from TESTLIKUI;

select * from TESTLIKUI WHERE AGE BETWEEN 20 AND 30                                    //获取到年龄20-30的数据,包括20和30本身

select abs(age) from testlikui;                   //abs获取绝对值

select username||'+'||age as infos from testlikui;     //|| 连接符,把username和age用+连接起来,输出

select lower(username) from testlikui;            //username按小写输出,upper大写输出

select createtime, next_day(createtime,'星期三') from testlikui;        //根据createtime的日期,获取到未来第一个星期三的日期(周末用“星期日”,星期天数据库不认识)

SELECT *FROM testlikui                                                 //SOUNDEX函数返回字符串参数的语音表示形式,soundex考虑了类似的发音字符和音节,使得对字符串进行发音比较而不是字母比较,
WHERE  soundex(username) = soundex('to');                              //相对于比较一些读音相同(或者相似),但是拼写不同的单词是非常有用的。
                                                                                                   
select username, vsize(username),length(username),                     //虽然都是“取长度”,但是LENGTH函数结果是“有多少个字符”,VSIZE结果是“需要多少bytes
createtime,to_char(createtime,'yyyy-mm-dd hh:mm:mm')                   //前者主要是将日期、时间或数转换为文本,这里我们把日期转为固定格式输出
 from testlikui;

select username,substr(username,2,2),                                         //目标字段username,从第二位开始截取,截取长度为两位的字符串
 substr(username,2),                                                                   //从第二位开始截取,截取后面全部
 substr(username,-1),                                                                  //逆向截取,从倒数第一位截取,往回截取全部
  substr(username,-2)                                                                  //逆向截取,从倒数第一位截取,往回截取全部
 substr(username,-4,2),                                                                //逆向截取,从倒数第4位截取,往回截取两位
  substr(username,-4,5)                                                                //逆向截取,从倒数第4位截取,虽然要求往回截取5位,但是实际只有4位,就截取的全部(4位)
 from testlikui
注:当只有两个参数时;不管是负几还是正几,都是从开始截取的那位开始 截取全部。

//rownum是伪列,是在获取查询结果集后再加上去的 (获取一条记录加一个rownum)
 select * from (select * from testlikui where age=100) where rownum = 1;     //获取年龄为100,第一条数据 
 select * from (select * from testlikui where age=100 order by username desc) where rownum=1;      //获取年龄为100,名字倒叙排列的第一条数据 
 select * from testlikui where age = 100 and rownum <= 2;                              //获取年龄为100,第一条数据

 select * from testlikui where username like '%阳%';                                      //模糊查询,包含“阳”的数据
 select * from testlikui where username like 't_';                                            //查询,名字以t开头且后面只有一个字符

 

soundex效果图,获取读音类似的数据(但是中文不支持

 

to_char 输出指定格式的日期

 

substr 截取指定的字符串输出

 

posted @ 2019-07-22 17:21  大海的泡沫  阅读(637)  评论(0编辑  收藏  举报
1 2