日期

1、日期基本写法:

2、当前日期,实际上 sysdate 可以理解为函数,返回当前系统时间:

返回当前时间戳,不常用:

3、日期加一天、减一天:

日期加一小时,(如果是分钟的话,1/24/60):

日期加一个月、减一个月、加一年(add_months):

年、月、天、时、分、秒加减的另一种写法(numtodsinterval、numtoyminterval):

日期减法,天数差;

4、精度控制(floor 向下取整、ceil 向下取整、round 四舍五入、trunc 截断):

实际上多用于数字精度运算,其中 floor、ceil 不用于日期,round、trunc 可以添加第二个参数控制精度:

5、计算月份差(months_between):

6、日期比较,略(数字、字符串的比较方法一致 ):

=等于
>大于
<小于
>=大于等于
<=小于等于
!=不等于
<>不等于

7、(拓展)函数greatest、least 用于取一些数据的最大值和最小值,数字和字符串同样使用:

字符串(多基于函数)

1、拼接:

2、截断(substr ),从第1个字符开始,截取长度为2:

3、匹配查询(instr ),从第1个字符开始,查询字符或者字符串“B”,第3次出现的位置:

结合 instr 和 substr,可以有更多不一样的截取,比如从右向左,或者如下的截取某个字符串出现之前的字符:

4、替换(replace ):

5、替换(translate ):

用的不多,理解可能较为复杂,建议查看官网:

https://docs.oracle.com/en/database/oracle/oracle-database/20/sqlrf/TRANSLATE.html#GUID-80F85ACB-092C-4CC7-91F6-B3A585E3A690

6、两端去掉空值(trim、ltrim、rtrim ):

7、关于字符串,还可以使用正则表达式处理(更强大的截取、定位和替换):[[Oracle 专题] SQL 正则表达式]()

8、关于字符串比较运算,在日期部分已有描述。

转换

1、Oracle 的类型转换分为显式转换和隐式,隐式转换说白了就是直接使用,日期当初字符串直接使用,数字当成字符串直接使用,或者反之:

2、显式转换则是通过函数实现:

日期转字符串(to_char )、字符串转日期(to_date ),下面是带有格式参数(可选)的例子:

字符串与日期的转换可选添加格式参数 ,格式参数可以自由组合,字符串转日期时格式参数要与字符串匹配,格式参数不区分大小写

yyyy年,4位
yy年,2位
mm
dd
hh24时,24小时制
hh时,12小时制
mi
ss
w当月第几周
ww当年第几周
q季度

3、数字转字符串(to_char)、字符串转数字(to_number ):

4、数字转字符串时,同样可选格式参数:

参数不区分大小写:

9数字
00
.小数点
,千位符
$美元
L本地货币

5、当然数字也可以转日期:

总结,日期、字符串、数字,均可互相转换,均有相似的比较、合并、截取、精度控制等运算。

最后修改:2021 年 10 月 25 日
如果觉得我的文章对你有用,请随意赞赏