对Oracle的格式化相关方法做个总结
Oracle格式化主要分为日期格式化、数字格式化与字符串格式化。
一、日期格式化
常见的日期格式化函数,包括to_date(),to_timestamp(),以及通过 to_char() 将日期转换为字符串
转换的格式,通过函数的第二个参数来定义
常见日期格式化模板:
年:Y,YYY - 带逗号的年 YYYY - 年 YYY - 年的后三位 YY - 年的后两位 Y - 年的最后一位
月:MONTH - 大写全长月份 Month - 首字母大写全长月份 month - 小写全长月份
MON - 大写缩写月份 Mon - 首字母大写缩写月份 mon - 小写缩写月份
MM - 月份号
日:DAY - 大写全长日期 Day - 首字母大写全长日期 day - 小写全长日期
DY - 大写缩写日期 Dy - 首字母大写缩写日期 dy - 小写缩写日期
DDD - 年里的日 DD - 月里的日 D - 周里的日
时:HH - 小时 HH12 - 12时制小时 HH24 - 24时制小时
分:MI - 分
秒:SS - 秒 MS - 毫秒 US - 微秒
模板修饰词:
FM前缀:抑制填充空白和0
二、数字格式化
常见的数字格式化函数,包括to_number(),以及通过 to_char() 将日期转换为数字
转换的格式,通过函数的第二个参数来定义
常见数字格式化模板:
9 - 位置对应数字转为字符,无转为空 0 - 位置对应数字转为字符,无则为0
. - 小数点 , - 千分符
模板修饰词:
FM前缀:去除首位空字符或0
特殊情况:
1、to_char 转换数字为字符串,如模板中整数位不足,输出为#,#的位数比模板中整数位多1
2、to_char转换数字为字符串,如模板中小数位不足,会进行四舍五入
三、字符串格式化
除将日期、数字转换为字符串外,字符串格式化还有其他一些格式化函数
ltrim():用于去除字符串前面的空格
rtrim():用于去除字符串后面的空格
trim():用于去除字符串两侧的空格
length():获取字符串的长度
lower():转换字符串为小写
upper():转换字符串为大写
initcap():转换字符串为首字母大写
concat():连接两个字符串
instr(‘abc’, 'a'):查找字符串是否出现,出现输出1,否则输出0。
substr('abc, i, j):获取从 i - j 的子字符串,如 j 不存在,则从 i 到末尾。从1开始计数
replace('abc', 'b', 'd'):替换函数,用参数3替换参数1中存在的所有参数2
lpad('abc', 4, '0'):左填充函数,用参数3 左补足参数1 到参数2 的长度
rpad('abc', 4, '0'):右填充函数,用参数3 右补足参数1 到参数2 的长度
ascii():将字符转换为ASCII码值
chr():将ASCII码值转换为对应字符
特殊情况:
1、to_char 模板里可以有普通文本,按原样输出。通过将字符放在双引号里实现。例如:to_char(sysdate, 'yyyy"年"MM"月"')