Oracle的一些语法

Oracle查询语句做除法时,除数为0的解决方法

利用decode函数

select decode(b,0,0,a/b) from dual;
当b = 0时,返回0,否则才返回a/b的结果

decode(value,if1,then1,if2,then2,…,else)函数

解释:
IF value=if1 THEN RETURN then1
IF value=if2 THEN RETURN then2
……
ELSE
RETURN else

Oracle查询语句将两个字段合并查询的方法

select A || ‘:’ || B from t
前提是A B字段都是字符型,假如不是,就用to_char()方法转换成字符型。其中,’:'是作为连接两个字段的符号。

Oracle的日期转换

TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)

Oracle使用 listagg() WITHIN GROUP () 将多行合并成一行

select a,listagg(b,’,’) within GROUP (order by b)
from tabel group by a

Oracle指定取数据表第几条到第几条数据

1、select * from table where rownum<20
minus select * from table where rownum<10
2、select * from (select rownum r,a.* from blog a where rownum<=20) where r>=10;

Oracle Trim、Ltrim及Rtrim函数

Trim、Ltrim及Rtrim实现将字符串中的一部分或全部空格去掉。Trim去掉字符串中的全部空格,Ltrim去掉字符串中起始的空格,而Rtrim将字符串末尾的空格都去掉
正在学习……

Oracle函数

1、日期函数

对日期值进行运算,根据用途产生日期/数值类型的结果。
ADD_MONTHS(d, n) 返回 指定日期加上月数后的 日期值
MONTHS_BETWEEN(d1, d2) 返回 两个日期间的 月数
LAST_DAY(d) 返回 指定日期当前的最后一天的 日期值
RONUD(d,[fmt]) 返回 指定日期四舍五入格式(YEAR、MONTH、DAY)后的 日期值
NEXT_DAY(d,day) 返回 指定日期下一个星期几的 日期值
TRUNC(d,[fnt]) 返回 指定日期截断为格式后的 日期值
EXTRACT(fmt FROM d) 返回 指定日期提取的格式的 值

2、字符函数

字符函数接受字符输入,并返回字符或数值。
INITCAP(char) 首字母大写
LOWER(char) 转换为小写
UPPER(char) 转换为大写
LTRIM(char, set) 左裁切
RTRIM(char, set) 右裁切
TRANSLATE(char, from, to) 按字母翻译
REPLACE(char, search_str, replace_str) 字符串替换
INSTR(char, substr[,pos]) 查找子串位置
SUBSTR(char, pos, len) 取子字符串
CONCAT(char1, char2) 连接字符串

CHR(ascii) 根据 ASCII 码返回对应字符串
LPAD / RPAD 左 / 右 填充
LPAD (‘function’, 15 , ‘=’) 返回 ‘=======function’
TRAM 开头或结尾(或 开头和结尾)裁剪特定的字符,默认裁剪空格。
TRIM ([LEADING | TRAILING] trim_char)
LENGTH(char) 返回字符串长度
DECODE 逐个值进行字符串替换
DECODE (expr, search1, result1, search2, result2, [ ,default])
DECODE (ostalus, ‘p’, ‘准备处理’, ‘c’, ‘已完成’)

3、数字函数

数字函数接受数字输入并返回数值作为输出结果。
ABS(n) 取绝对值
CEIL(n) 向上取值
FLOOR(n) 向下去整
SIN(n) 正弦值
COS(n) 余弦值
POWER(m, n) 指数函数
SQRT(n) 平方根
MOD(m, n) 取余
ROUND(m, n) 小数点后精度四舍五入
TRUNC(m, n) 小数点后精度截断

4、转换函数

转换函数将一种数据类型转换为另一种数据类型。
TO_CHAR (d|n, [,fmt]) 格式化 日期 / 数值
TO_DATE (char [,fmt]) 将 fmt模型格式的字符串 转换为日期型
TO_NUMBER (char) 将 包含数字的的字符串转换为 数值型

5、其他函数

NVL (exp, exp2) 如果 exp 为空返回 exp2;如果非空返回 exp
NVL2 (exp, exp2, exp3) 如果 exp 为空返回 exp3;如果非空返回 exp2
NULLIF (exp1, exp2) 比较两表达式,相等返回空值,不等则返回 exp1

分组函数 / 聚合函数
分组函数基于一组行返回结果,即为每一组行返回单个值。

AVG (columname) 返回指定列的平均值
MAX (columname) 返回指定列的最大值
MIN (columname) 返回指定列的最小值
SUM (columname) 返回指定列的总值
COUNT
COUNT (*) 统计所有行个数,包括重复行和空值得行
COUNT (columname) 统计指定列非空值的个行数
COUNT (DISTINCR columname) 统计指定列中 非重复,非空值得行个数

发布了24 篇原创文章 · 获赞 1 · 访问量 2446

猜你喜欢

转载自blog.csdn.net/qq_35018214/article/details/102732774