学习Oracle日记(三)

系统 1886 0

#1. 系统日期 、时间函数

  ^1.SELECT TO_CHAR ( SYSDATE ,'YYYY-MM-DD HH24:MI:SS') FROM DUAL -- 查询系统当前日期

  ^2.SELECT SYSTIMESTAMP FROM DUAL --查询带时区的系统日期       

  ^3.SELECT DBTIMEZONE FROM DUAL --查询当前时区

    SELECT SESSIONTIMEZONE FROM DUAL--查询当前会话的时区

  ^4.SELECT TO_CHAR( ADD_MONTHS (TO_DATE('2014-11-11' ,'YYYY-MM-DD'),-1),'YYYY-MM-DD') FROM DUAL --返回指定日期前一个月的日期

ADD_MONTHS(DATE , INTEGER ) -- DATE :指定的日期   INTEGER:要加的月份数 如果为负数 则表示减去的月份数

  ^5.SELECT LAST_DAY (SYSDATE) FROM DUAL --返回参数指定日期对应月份的最后一天

  ^6.SELECT SYSDATE , NEXT_DAY (SYSDATE ,'星期一') FROM DUAL --返回当前日期向后一周 指定星期对应的日期

  ^7.SELECT EXTRACT (YEAR FROM SYSDATE) YEAR,
    EXTRACT(MONTH FROM SYSDATE) MONTH,
    EXTRACT (DAY FROM SYSDATE) DAY
    FROM DUAL          --从指定的时间当中提取到指定的日期部分

  ^8. SELECT MONTHS_BETWEEN (TO_DATE('2010-01-01' ,'YYYY-MM-DD'),SYSDATE) FROM DUAL

      --返回指定日期之间的月份数

#2. null 函数

  ^1.SELECT COALESCE (NULL,9-9,NULL) FROM DUAL --返回列表中第一个不为null的表达式结果

  ^2.SELECT * FROM XXX WHERE LNNVL(condition) --该函数可以得到除了condition要求条件之外的数据 包括null

  ^3. NVL(EXPR1,EXPR2)   --替换null值 表示如果expr1 为null值 则返回expr2的值

#3.数值型函数

  ^1. ABS(N) 返回n的绝对值

  ^2. MOD(N1,N2) --返回N1除以N2的余数

  ^3. SIGN(N) --返回参数n 的符号

  ^4. CEIL(n) -- 返回结果是大于等于输入参数的最小整数

  ^5. FLOOR(N) --返回结果是小于等于输入参数的最大整数

  ^6. SQRT(N) --返回n的平方根

  ^7. POWER(N1,N2) -- 得到n1的n2次幂

  ^8. LOG(N1,N2) -- 返回以n1为底 n2 的对数

 #4.字符串函数

CHR(n[using nchar_cs]) --根据相应的字符集 把给定的ASCII码转换成字符

ASCII(CHAR) --返回参数首字母的ASCII码值

LENGTH(CHAR) --得到指定字符串长度

SUBSTR(CHAR,POSITION[,SUBSTRING_LENGTH]) -- 截取字符串 [char:原始字符串 position:开始位置 substring_length:截取长度]

    (length,substr ,instr变形函数)

    SUBSTR:以字符为单位

    SUBSTRB:以字节为单位

    SUBSTRC:以Unicode字符为单位

    SUBSTR2:以UCS2代码点为单位

    SUBSTR4:以UCS4代码点为单位

CONCAT(CHAR1,CHAR2) --字符串连接函数 将char2连接到char1的末尾

INSTR(STRING,SUBSTRING[,POSITION[,OCCURRENCE]]) --字符串搜索函数

         ----[string:待搜索的字符串 substring:要搜索的字符串 position:搜索开始位置 occurrence:substring第几次出现]

UPPER(CHAR) --将指定的参数全部转换成大写字母

LOWER(CHAR) --将指定的参数全部转换成小写字母

INITCAP(CHAR) --将指定参数的所有单词的首字母转换成大写字母

//带排序参数的大小写转换函数

NLS_INITCAP(CHAR[,NLSPARAM]) --将指定参数的所有单词的第一个字母转换成大写

    SELECT NLS_INITCAP('this is a test','NLS_SORT=SCHINESE_STROKE_M')----

      NLS_SORT=SCHINESE_STROKE_M--- 按笔画排序

      NLS_SORT=SCHINESE_PINYIN_M----按拼音排序

  NLS_UPPER(CHAR[,NLSPARAM])

  NLS_LOWER(CHAR[,NLSPARAM])

NLSSORT(CHAR[,NLSPARAM]) --根据指定的方式对char进行排序

    SELECT * FROM TEMP ORDER BY NLSSORT(ZIDUANMING,'NLS_SORT = SCHINESE_PINYIN_M')---

        查询数据根据ZIDUANMING 按拼音排序

REPLACE(CHAR,SEARCH_STRING[,REPLACEMENT_STRING]) --用于替换字符串

    CHAR : 表示要搜索的目标字符串

    SEARCH_STRING:表示在目标字符串中搜索的字符串

    REPLACEMENT_STRING:替代被搜索到的字符串  如果没有这个参数,则从CHAR中删除SEARCH_STRING

RPAD(CHAR1,N,CHAR2) --字符串填充函数 在char1的右面用char2填充直到长度为n为止 char2为空时用空格代替

LPAD(CHAR1,N,CHAR2) --字符串填充函数 在char1的左面用char2填充直到长度为n为止char2为空时用空格代替

TRIM([LEADING|TRAILING|BOTH][TRIM_CHARACTOR FROM] TRIM_SOURCE)   --删除字符串首尾指定字符 默认删除空格

    LEADING : 删除前缀字符

    TRAILING:删除后缀字符

    BOTH:删除前缀和后缀

    TRIM_CHATACTOR:删除的指定字符

    TRIM_SOURCE:被操作的字符串

RTRIM(CHAR[,SET]) --将char右面出现在set中的字符删除  若没有 默认删空格

LTRIM(CHAT[,SET]) --将char左面出现在set中的字符删除  若没有 默认删空格

学习Oracle日记(三)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论