入门精通4-函数
学习Oracle的字符串函数、以及一些其他函数
字符串函数
将字符转换为ASCII码,如果是字符串则只会转换左起第一个字符
1 | SELECT ASCII('A') BIG_A, ASCII('a') SMALL_A, ASCII('am') |

将数字编码为字符
1 | SELECT CHR(65) CHR_65 |

字符串连接
1 | SELECT ENAME||COMM STR1,CONCAT(ENAME,COMM) STR2 |

字符串中每个单词的第一个字符大写
1 | SELECT INITCAP('to be or not to be,this is problem') str1 |

查找字符在字符串中的位置
1 | SELECT INSTR('MISSISSIPPI','I',3,2) |

1 | SELECT INSTR('MISSISSIPPI','S',-5,3) |

字符串长度
1 | SELECT LENGTH('i am what i am') str_len |

大小写转换
1 | SELECT LOWER('AM'),UPPER('am') FROM dual |

从左边开始查找并删除符合条件字符串
1 | SELECT LTRIM('Mississippi','Mi'),LTRIM('Mississippi','ip') |

自定字符串替换
1 | SELECT REPLACE('13035532322','3553','****') |

截取字符串
1 | SELECT SUBSTR('13035532322',4),SUBSTR('13035532322',1,3) |

数值函数
符号判断函数
1 | SELECT SIGN(12),SIGN(-99),SIGN(0) FROM dual; --判断参数正负,正数返回1,负数返回-1,零则返回0 |

向下取整函数
1 | SELECT FLOOR(-0.1),FLOOR(-1),FLOOR(0.99) FROM dual; --返回小于等于参数的最大整数 |

绝对值函数
1 | SELECT ABS(0),ABS(-34),ABS(277) FROM DUAL; --返回该参数的绝对值 |

日期函数
1 | SELECT ADD_MONTHS(SYSDATE,3.3) MON3,SYSDATE FROM dual; --返回系统日期后3月的日期,小数部分会被舍去 |

1 | SELECT LAST_DAY(SYSDATE) FROM dual; --返回本月最后一天 |

转换函数
字符串转换为日期
1 | SELECT TO_DATE('2021-05-06','YYYY-MM-DD') FROM dual; --将字符串格式转为日期格式 |

将日期或数值转换为字符串
1 | SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH:MM') AS DD,TO_CHAR(13556.998) AS NUM FROM DUAL; --将日期和数值转换为字符串 |

字符串转换为数值
1 | SELECT TO_NUMBER('13556.998') AS NUM2 FROM DUAL; --字符串转换为数值 |
