sql语句基础

sql语句基础

select 列名
from 表名
where 限制
dual:虚表,不管什么命令,强制执行
date=’1-1月(可以用英文:JAN)-99’–日期为:99年1月1日
算数运算符
+ -  /
与null运算仍为null
*
连接运算符**
||
比较运算符
 > < = <>
特殊比较运算符
between…and:在某个区间范围内
in:表示比较的值在某个集合之内
like:像。
   %“表示0个或多个的字符
   _表示一个字符
is null:是否为空
逻辑比较运算符
and(与),or(或),not(非,优先级最高)
排序
select
from
where
order by(默认升序排序asc,降序排序desc,可以写多个,按先后顺序,用逗号连接)

单行函数

字符
大小写转换
lower():变小写
upper():变大写
initcap():首字母大写
concat():两个(只能)参数之间用逗号连接,用于连接字符
substr(a,n1,n2):返回第一个参数中,从n1位置开始,长度为n2的子串。(截取)
-如果n2省略,取第n1位开始的所有字符
-如果n1为负值,表示从第一个参数的后面第abs(n1)位开始,向右取长度为n2的子串,即从右边开始数(倒数第n1个),开始数n2位。
length(column):字符串长度
instr(s1,s2,n1,n2):返回s1中,子串s2(s2是s1内的字符)从n1开始,第n2次出现的位置。n1,n2默认值为1。
lpad(s1,n1,s2):返回s1:被s2从左面填充到n1长度后的字符串。(左填充)
rpad(s1,n1,s2):与lpad用法类似,不同的是从右边填充。
trim(‘a’ from ‘b’):去掉b中含有’a’的头尾。(右填充)
replace(s1,s2,s3):把s1中的s2用s3替换。

数值函数

round(a,b):将a四舍五入都小数点后b位,b为负数时是小数点左边。
trunc(a,b):将a的小数点后b位的数全部砍掉。
mod(a,b):a/b取余(a%b)。

日期函数

a+-b:a+-b天。
sysdate:系统时间。
months_between(a,b):返回两个日期之间的自然月数。
add_months(a,b):返回指定日期加上相应的月数后的日期。
next_day(a,b):返回某一个日期的下一个指定日期(西方星期天为第1天,下一个的第b天)。
last_day(a):当月最后一天的日期。
rounnd(a):将date按照fmt指定的格式进行四舍五入,
fmt为可选项,如果没有指定fmt,则默认为DD,将date四舍五入为 近的天。 格式码:世纪CC,年YY,月MM,日DD,小时HH24,分MI,秒SS –TRUNC( date[,‘fmt’] )将date按照fmt指定的格式进行截断,fmt为 可选项,如果没有指定fmt,则默认为‘DD’,将date截取为近的 天。
extract():返回日期中年份、月份、日。

转换函数

to_char:转换成字符(用于日期)。
to_number:转换成数值(用于数值)。
to_date:转换成日期。(用于字符)
date转换

通用函数

nvl(a,b):将a中的空(null)换成b。
nvl2(a,b,c):将a中,不为空换成b,空换成c。
nullif(a,b):如果ab相同,返回null,不同则返回第一个表达式。
coalesce(a,…,n):返回第一个不为空的参数。

case:(case xxx
     when a then aa
     when b then bb
     else c end)

decode(x,a,aa,b,bb,c,cc):效果同上。