标签:访问 logs sys concat 忽略 escape tcap 开头 desc
今天开始接触oracle,2017-10-25 - 08:48:06
定义空值 null,凡是与空值参与的运算结果都为空,null不是0或者空格
查询frr表,id为2 的懒蛋用户的money字段为空
进行第二个命令 :select name,money,money*2 from frr; 可见懒蛋用户的计算结果也为null,
为列名起别名。别名就是在家老爸老妈叫你的小名儿,为了方便我们可以为任何想改变的字段的名起一个小名儿。
现在表中的信息的情况如下
我们将money等于100的查询出来:select * from frr where money = 100;where 关键字后面是跟的查询的条件
具体的查询的条件的符号以及意思如下
再查询money等于空值的信息:select * from frr where money = null ;这么进行查询的是不会的到结果的,因为这样查询的意思是这个字段的字符信息等于null,而不是为空,如果此字段为空的话用 is 关 键字,下图第一个查询是没有结果的,执行的是第二个查询出来的“懒蛋”
where条件为字符或者日期格式的 ,需要用单引号引起来,单引号中严格区分大小写
查询money字段大于100 小于10000的人的信息:select * from frr where money>100 and money <10000; 在这 新关键字 and 代表并列的一起,代表所查询的值的区间是大于100 与 小于10000的
其他的比较运算符的关键字
between--and--:查询money在100 与 10000之间的人的信息:select * from frr where money between 100 and 10000;,对照上一个查询就可以看出来,between-and 包含临界值
in:查询money等于100 与等于1000的人的信息:
方法一:select * from frr where money =100 or money =1000; 这里我们使用了 or 关键字,区别与上述的 and 关键字,or 关键字是或者的意思,意思就是,满足等于100 或者 满足 等于1000都会被 查询到
方法二: 这里我们是用的in关键字,作用跟or关键字查询结果一样,但是in关键字不可以取一个范围的值,
like:用于模糊查询的关键字,
查询名字中带有“纯”字的人的信息出来:在图中的两种方式的出现的% 与 _ 做一下说明,%就是代表任意数量的字符,而_ 只代表以为字符,
select * from frr where name like ‘%纯%‘;
select * from frr where name like ‘纯__‘;
如果我们想查询名字中带有 _ 得人的名字,
select * from frr where name like ‘%_%‘; 这样会把所有人的名字全部查询出来,这时候_也是会被当做成任意一位的字符处理,显示结果如下
正确姿势: select * from frr where name like ‘%/_%‘ escape ‘/‘; escape 关键字规定的后面单引号中的内容为转移符,在这里 / 被定义为转移符,‘%/_%‘ 中 转移符/ 后的_ 就会被当作为一个普通的 字符进行处理
order by: 用来排序的,可以按照不同的列名进行升序与降序的排序,asc 从小到大,desc 从大到小,默认为asc
select * from frr order by money asc;
select * from frr order by money desc;
。。
我们看到按照money排序后,出现两个money为100的,我们需要再次根据id从大到小排序的话,我们只需要在后面进行添加需要排序的字段以及对应的排序规则即可
select * from frr order by money desc,id desc;
lower:将大写字母全部转换为小写字母
upper:将小写字母全部转换成大写字母
iniecap:将每个单词的首字母进行转换大写处理
如果我们不知道查询的用户的名字或者其他信息的大小写状态的话,我们可以将名字全部转换成大小写,然后去判断即可
concat(‘str1‘,‘str2‘):就是把两个字符串str1 和 str2 拼接在一起
substr(‘str1‘,1,5):从字符串str1 的第一位开始,输出五位字符
select concat(‘Qidai‘,‘ in Oracle‘),substr(‘Qidai in Oracle‘,1,7) from dual;
length(‘str1‘):返回str1 的长度
instr(‘str1‘,‘w‘):返回字母w 在str1 中首次出现的位置
select length(‘Qidai in Oracle‘),instr(‘Qidai in Oracle‘,‘i‘) from dual;
lpad(‘str1‘,10,‘-‘):以十个字符位置显示str1,不够的用 "-" 左补齐,str1 超出的话,只显示str1 前十位
rpad(‘str1‘,10,‘-‘):以十个字符位置显示str1,不够的用 "-" 右补齐,str1 超出的话,只显示str1 前十位
select lpad(‘Qidai‘,10,‘-‘),rpad(‘Qidai‘,10,‘-‘) from dual;
trim(‘d‘ from ‘str1 ‘): 将d 从str1 中去除掉,只去除首尾的指定字母,如下图中首尾已经将指定的字母去掉,而中间的字母没有去掉,
replace(‘str1‘,‘s‘,‘r‘):将str1 中的 指定字母s 全部替换成 指定字母 r,
select trim(‘d‘ from ‘dddQdidaiddd‘),replace(‘dddQdidaiddd‘,‘d‘,‘r‘) from dual;
标签:访问 logs sys concat 忽略 escape tcap 开头 desc
原文地址:http://www.cnblogs.com/wzqjy/p/7727960.html