字符函数
- lower():大写字母转小写
- upper():小写字母转大写
- initcap():单词首字母转大写
- substr(a,b):在字符串a中,从第b位开始取
- substr(a,b,c):在字符串a中从b开始取,取c位
- length()字符数,lengthb()字节数(英文字母1字母=1字符=1字节)(汉字1个汉字=1字符=2字节)
- in(a,b):查找字符串b在a的什么位置(标点符号也算是字符)
- lpad(a,num,b):字符串a左填充b,填充完后总字节是num,如果填充的数据超出num,就少填充一次,rpad(a,num,b):右填充
- trim(a,b):去掉字符串b中前后的a字符
- replace(a,b,c):将字符串a中的b替换为c
数值函数
- round(num1,num2):四舍五入,0代表小数点,1代表小数点右边第一位,-1代表小数点左边第一位,依次类推,当num2为正数,表示小数点保留num2位,其余的四舍五入,如果num2为负数,就从num2那位开始判断四舍五入
- trunc(num1.num2):截断函数,机制和round函数基本一样,num2=正数的时候,就保留几位,后面的就舍弃,num2=负数的时候,就从num2的位置开始截断
- 当前时间 sysdate
- 数字,字符串,日期之间的转换
eg:将当前日期转换成字符串
将字符串变成数据(需要注意前后格式要一样)
将字符转换成日期
12. nvl2(a,b,c):当a为NULL时返回c,否则返回b
13. nullif(a,b):当a=b时 返回NULL否则返回a
14. 条件表达式
a sql通用表达式
条件表达式 sql语句数据库通用表达式
case 列
when 列值1 then 显示值1
when 列值2 then 显示值2
when 列值3 then 显示值3
else
默认值
end
b. oracle特有的表达式
decode(列,列值1,显示值1,列值2,显示值2,默认值)
日期函数
Months_between 两个日期相差的月数
Add_months 向指定日期中加上若干月数
Next_day 指定日期下一个日期
Last_day 本月的最后一天
Sysdate=’25-JUL-95’;
Round(Sysdate,’Month’)----->’01-AUG-95’
Round(Sysdate,’YEAR’)----->’01-JAN-96’
Trunc(Sysdate,’Month’)----->’01-JUL-95’
Trunc(Sysdate,’YEAR’)----->’01-JAN-95’