第四十二天-第五十二 天:sql语句和语法的练习总结(一)

来源:互联网 发布:网络教学系统uml建模 编辑:程序博客网 时间:2024/06/07 10:26

Oracle数据库对大小写特别敏感

select查询语句:所有的关键字逻辑操作符都是大写,小写好像系统会默认给你转大写,所有的字符串都是用单引号进行包含

1.查询时候,可以查询单个字段(column),数据库的列和行都是从1开始的,也可以查询所有的字段(*);

2.单个字段如果是数值型或者日期型就可以进行四则运算,null 与任何数四则运算都是null

3.字段之间可以用“||”进行连接,可以通过“||”把字符串加到多个字段之间

4.字段的别名可以用 a  “A”或者  a  AS  A 来表示;双引号中的需要大写

5.distinct去重复行的关键字 ,加在查询关键字的后面

6.条件限制关键字where,后面可以加需要限制的条件,比如分组语句和排序语句,多个排序字段一般都是用 逗号进行链接

6.1where中要用到的几个判断的逻辑操作符:

------     >,=,<,>=,<=,<>不等于,between -and -,in(同一个字段的不同的数值),like 与{   通配符%和单个字符_   }连用(模糊匹配),is null 赋值为null

7.null就是空,不是0也不是没有,它就是null,不能进行四则运算

8. 逻辑操作符:and与  or或  not非  特例:not  in 不包括

9.排序条件:

order by asc(升序)+字段+desc(降序)   后面可以用 进行连接多个需要排序的字段  egg:a 字段  asc,b字段 desc

10.字符转换函数:

  upper(字段)=‘’ 大写 ,lower(字段)=‘’小写,initcap(字段)=‘’大小写混合

 表示字段的值转换后可以输入的类型;

11.字符串的操作函数:

concat(‘   ’ ,‘   ’)连接两个字符串,substr(’',n,m)切割,length(' ')求长度,instr(“”,“a”)字符在字符串中所在的位置

trim()可以去首尾的空格返回一个副本,也可以   去字符from字符串   中

lpad和fpad(‘字段’,字段设定的长度,未满填充的值)

12.数字操作函数:

round(num,n)取小数点后n位,四舍五入,n为负时候,表示小数点左边

trunc(num,n)直接截取小数点后n位

mod(num,n)num对n进行取余

to_num(““)字符串转数字

13.日期操作函数:

日期到字符串,to_char(date,"格式");

字符串到日期,to_date(char,"格式")

     day的操作----next_day(‘日期’,'设置为具体的某天')

------next_day('日期',设置为曾加的天数)

------next_day(to_date('------','格式'),设置增加的天数)

--------last_day('日期')某个月的最后一天

month的操作---addmonth(‘日期’,增加的月份数)

----month_betwween('日期',‘日期’):

对日期进行,round和trunc操作后,仍然是一个完成的日期,包含完整的年月日,extract可以直接截取年或者月或者日的数字;

这里的日期必须符合你数据库中的日期格式,根据你数据库中设置的nls_date_format, 查询自己数据库中的格式:select nls_date_format from dual;

也可以手动的设置日期格式: alter  session set nls_date_format='YYYY-MM-DD HH24:MI:SS'  这个dual是一个万能的伪表,不存在,所以是万能,可以查询数据和进行各种你想进行的操作

14.=  赋值的时候的转换规则:

varchar2,char可以直接给number或者date

number,date也可以直接给varchar2

15. 表达式的比较操作:

只能由varchar2或者char到date或者number

16显式转换函数:

to_char(),to_date(),to_number();

to_char()包含:日期到char或者数字到char

to_char(date,'格式‘’);yyyy表示年,dd表示日,mm表示月,year,month,day表示英文中的年月日,mon,dy表示去英文中的3个字符表示月和日,ddspth表示英文中的一个月中的第几天,hh24:mi:ss am表示标准的格式日期

to_char(number,''格式); 9表示一个数字,0强制显示0,$表示一个美元占位符,l表示本地货币符号做为一个占位符, 点表示小数点,分号表示千分位

设置本地货币类型:alter session set nls_currency='货币类型';

to_number();字符传到数字的转换

17.nvl,nvl2函数:nvl(‘’,‘’)如果第一个字段为null则返回第二个字段,不为空返回它本身。nvl2(‘’,‘’,‘’)第一个字段为空返回第三个,不为空返回第二个,nullif(‘’,‘’)

如果两个字段相等的话返回null,不相等返回第一个字段的值。coalesce全为空返回空,不然返回当前不为空的值

18.条件表达式:case 字段 when 字段值 then ---- else---  end  "字段的别名"                 decode(源字段,字段值,返回值,返回值) 关联字段


原创粉丝点击