zoukankan      html  css  js  c++  java
  • Oracle存储过程小记DUAL

      在oracle中,我们有时候会需要判断一个字符串里边是否包含有某一个串;首先,oracle为我们提供了instr这个函数:

      instr( string1, string2 [, start_position [, nth_appearance ] ] )

      参数分析:

      string1,源字符串,要在此字符串中查找。  string2:  要在string1中查找的字符串。  start_position: 代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。 nth_appearance: 代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。

      注意:如果String2在String1中没有找到,instr函数返回0.

      有了这个函数, 可以我们怎么用呢, 这个时候, dual就起作用了, 我们可以这样:

      select instr("xxxxxx", "xxx") from dual.

      那么 dual到底是个什么东西呢?

      dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。我们可以用它来做很多事情,例如上边,当我们需要使用一个函数时,就可以使用dual了。

      

    dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。我们可以用它来做很多事情,如下:

      1、查看当前用户,可以在 SQL Plus中执行下面语句 select user from dual;

      2、用来调用系统函数

      select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;--获得当前系统时间

      select SYS_CONTEXT('USERENV','TERMINAL') from dual;--获得主机名

      select SYS_CONTEXT('USERENV','language') from dual;--获得当前 locale

      select dbms_random.random from dual;--获得一个随机数

      3、得到序列的下一个值或当前值,用下面语句

      select your_sequence.nextval from dual;--获得序列your_sequence的下一个值

      select your_sequence.currval from dual;--获得序列your_sequence的当前值

      4、可以用做计算器 select 7*9 from dual;

  • 相关阅读:
    Dynamics CRM安装教程一:域环境准备
    C#判断日期是否合法
    Visual Studio 2015 无法加载.Net FrameWork4.6.2
    Dynamics CRM产生公共签名,避免每次插件换环境重新输入签名密钥账号密码
    Dynamics CRM使用JS隐藏自定义按钮
    <3>Python开发——列表(list)
    <2>Python开发——字符串(str)
    <1>Python开发——基础入门
    Sed命令详解
    国内搭建Minikube测试环境
  • 原文地址:https://www.cnblogs.com/yuxingfirst/p/2772341.html
Copyright © 2011-2022 走看看