时间:2021-07-01 10:21:17 帮助过:2人阅读
trunc(列|值|表达式,小数的有效位数) 直接截取
mod(列|值,列|值) 求余数
abs(列|值) 求绝对值
length(列|值|表达式);求长度
upper(列|值|表达式);全部转大写字母
lower(列|值|表达式);全部转小写字母
initcap(列|值|表达式);每个单词首字母大写
lpad(列|值,宽度,填充字符);从左边补不足宽度个填充字符
rpad(列|值,宽度,填充字符);从右边补不足宽度个填充字符
ltrim(列|值,截取字符);从左边截取字符
rtrim(列|值,截取字符);从右边截取字符
replace(列|值,被置换的字符,置换的字符);置换指定字符
translate(参数一,参数二,参数三);转换指定字符
参数一:要处理的内容,列|值
参数二:要检索的内容
参数三:检索后,与检索内容一一对应替换的内容(如果无替换值,则全部去掉)
检索内容在替换内容中没有的去掉
instr(‘值,列’,‘要查询的字符‘,从哪里开始,查询第几个出现的字符)查找指定字符窜中所在的位置下标
substr(列|值,指定位置下标,保留几位)
decode() 类似一个三目运算符 (表达式? a:b)只有布尔类型,如果表达式的值为true,则输出a,否则输出b;比较第一和第二个参数,如果相等取第三个参数,如果不相等取第四个参数。
case when 可以把它看成switch功能;
select name "部门名",
case region_id
when 1 then ‘北美‘
when 2 then ‘南美‘
when 3 then ‘中东‘
when 4 then ‘亚洲‘
when 5 then ‘欧洲‘
else ‘未知区域‘
end 区域名
from s_dept;
case后面是否出现列名,取决于when后面条件是否出现比较列
如果when后面已经出现列名,那case后面务必不能写列名,
如果when后面是值,那么必须在case后面指定列名,否则无法确定所给的值的真正含义
--------------------------------日期函数--------------------------------
oracle默认的日期格式为 dd-MON-yy
select sysdate from daul;
sysdate 当前日期
months_between(date1,date2) 2个日期之间的月数
to_date:将数字串转化成date格式
add_months(date1,n) 在date1的基础上加n个月
--------------------------------转换函数--------------------------------
to_date() 把字符串改为日期
to_number(‘数字字符串’,‘999,999,999.999‘) 把字符串换成数字;后面的为容器,必须大约等于前面的数字字符串的大小
to_char 把数字或日期转换为字符串;可用于截取日期字符串中的年,月,日
把数字格式化为字符窜的时候可以用一些符号
数据库函数
标签:域名 等于 位置 检索 宽度 trunc 亚洲 默认 code