精华内容
下载资源
问答
  • 1、字符串为空则返回null 2、字符串为空串则返回null 3、字符串为数字则返回Y 4、字符串为非数字则返回N CREATE OR REPLACE FUNCTION IS_NUMBER (STRING VARCHAR2) RETURN VARCHAR2 IS NUMING NUMBER; BEGIN...

    1、字符串为空则返回null

    2、字符串为空串则返回null

    3、字符串为数字则返回Y

    4、字符串为非数字则返回N

    CREATE OR REPLACE
    FUNCTION IS_NUMBER (STRING VARCHAR2)
    RETURN VARCHAR2
    IS    
       NUMING NUMBER;         
    BEGIN
    	IF STRING is null then
    		return null;
    	END IF;
    	NUMING := to_number(STRING);        
    		RETURN 'Y';    
    	EXCEPTION WHEN OTHERS THEN         
    		RETURN 'N';    
    END IS_NUMBER;

    测试

    select IS_NUMBER(null) from dual;
    
    NULL
    
    select IS_NUMBER('') from dual;
    
    NULL
    
    --注意这个包含一个空格
    select IS_NUMBER(' ') from dual;
    
    N
    
    select IS_NUMBER('11') from dual;
    
    Y
    
    select IS_NUMBER('aa') from dual;
    
    N

     

    展开全文
  • Oracle 中,空字符串存入到Oracle中会自动转换NULL,另外VARCHAR2把空串等同于null处理。 SQL> select 1 from dual where null=null; 没有查到记录 SQL> select 1 from dual where null=''; 没有查到...
    Oracle 中,空字符串存入到Oracle中会自动转换为NULL,另外VARCHAR2把空串等同于null处理。
    
    SQL> select 1 from dual where null=null;  没有查到记录  
    SQL> select 1 from dual where null='';  没有查到记录  
    SQL> select 1 from dual where ''='';  没有查到记录  
    SQL> select 1 from dual where null is null; 

     

    转载于:https://www.cnblogs.com/sallet/p/4303806.html

    展开全文
  • Oracle 判断字符串为''还是Null

    万次阅读 2012-01-08 11:38:54
    oracle 判断varchar2类型是不是为空'' ,用什么判断符 VV_LIST:='DSSSFDFDSFDS'; IF(VV_LIST  DBMS_OUTPUT.PUT_LINE('PPPPPPPPPPPPPPPPP');  ELSE  DBMS_OUTPUT.PUT_LINE('BBBBBBBBBBBBBBBBBBBBBBBB'); ...
    oracle 判断varchar2类型是不是为空'' ,用什么判断符
    

    VV_LIST:='DSSSFDFDSFDS';
    IF(VV_LIST <>'')THEN
      DBMS_OUTPUT.PUT_LINE('PPPPPPPPPPPPPPPPP');
      ELSE
      DBMS_OUTPUT.PUT_LINE('BBBBBBBBBBBBBBBBBBBBBBBB');
      END IF;

    结果却打印了BBBBBBBBBBBBBBBBBBBBBBBB


    IF ('' IS NULL) THEN
      dbms_output.put_line(''''' is null');
      END IF;
    输出:'' is null

    这说明,在oracle pl/sql里,把''当成null处理了


    Oracle中的空应该用的是null,非空就是not null
    for example:

    SQL code
       
    SQL > set serveroutput on SQL > declare 2 str varchar ( 20 ): = ' helloworld ' ; 3 begin 4 if str <> '' then 5 dbms_output.put_line( ' is not null ' ); 6 else 7 dbms_output.put_line( ' is null ' ); 8 end if ; 9 end ; 10 / is null PL / SQL procedure successfully completed.

    SQL code
       
    SQL > set serveroutput on SQL > declare 2 str varchar ( 20 ): = ' helloworld ' ; 3 begin 4 if str is not null then 5 dbms_output.put_line( ' is not null ' ); 6 else 7 dbms_output.put_line( ' is null ' ); 8 end if ; 9 end ; 10 / is not null PL / SQL procedure successfully completed.
    所以可以这么做:


    select   

    st.koyu_zaisan_no
    ,st.koyu_zaisan_edaban
    ,st.shutoku_nendo  --?異動年度
    ,st.shutokubi          --?異動日
    ,st.kaikei
    ,'会計名'                 --?
    ,st.shukanka          --?
    ,'KANJYO_KAMOKU_MEISHO'  --?
    ,'金額'
    ,'err_no'                 --?
    ,'err_naiyo'            --?
    ,'0' csv_type          --?

    from SHISAN_TAB st
    where  trim(nvl(st.chiku_cd,'')) || 'A' ='A'
    or  trim(nvl(st.chimoku,'')) || 'B' ='B'



    展开全文
  • 判断字符串是否为空的一点小感触


    早上的时候,想到一个问题。现在判断CString 和 std::string 是否为空,都是调用CString::IsEmpty() 和 std::string::empty()来判断。可是他们到底快不快呢,不确定。然后查了一下。才发现这两个都是调用长度是否为空来判断的,,,瀑布汗啊。想起当初都是用长度是否为空来判断的。后来发现有一个专门的函数判断空,感觉应该速度更快而且又那么优雅,所以开始用。结果今日发现,聪明反被聪明误啊。

    展开全文
  • oracle 判断字符串是否相等

    万次阅读 2013-07-11 18:13:06
    oracle中,将空字符串null,任何值与null比较结果都null。如此一来,在比较两个字符串的时候就会出现意外。请看以下的例子: declare   i varchar2(10) := null;  v varchar2(10) := 'abc'; begin
  • oracle字符串为空判断

    万次阅读 2011-11-04 11:30:18
     1 如果是作为控制条件: --aa变量 if aa is null then ... end if; 2 如果是sql语句: --aa列名 select decod
  • 目录 1.在Oracle中,将长度零的字符值视NULL 2.在PL/SQL中判断空字符串 2.1 使用nvl函数空值处理 2.2 使用is not null改写 ...后来查询相关资料发现:Oracle建议您不要将空字符串为空字符串那么具体是怎么回事呢?
  • 由以上测试可以得出今后的判断条件: if (trim(nvl(var_name_str,''))='') then  begin  your operation;  end;  end if; nvl用法:nvl(arg,value)代表如果...
  • 1.oracle里是将‘’识别别null,所以判断的时候是先把空格去掉在判断为空。 例如: v_str :=' '; ltrim(v_str) is null; 因为如果变量多个空格,左边和右边去空格都一样,我就用了左边去空格的方法。
  • ORACLE 支持等于空字符串

    千次阅读 2020-06-08 23:15:39
    之前的应用一直是连接DB2数据库,DB2对空字符串的识别是相等的,如: -- FALSE SELECT 1 FROM DUAL WHERE '' IS NULL; -- TRUE SELECT 1 FROM DUAL WHERE '' IS NOT NULL; -- 注意:NULL 能用 =、!=、&...
  • 特殊使用:判断字符串中是否为数字字符串 SELECT TRANSLATE('33434','1234567890','#') "License" FROM DUAL 返回:null 表示是数字字符串,不为空表示字符串里包含有其他字符....
  • sql查询test表中字段card ...但是在oracle中,如果字段时字符串类型,空字符串本身就代表null,所以能用<>、!=、=等来比较空字符串所以 查询test表中字段card为空字符串的语句: select * from test where card
  • 案例:判断截取后的字符串是否可以转number类型,如果可以,则返回截取后的内容,反之返回0 1.编写SQL函数,SQL函数如下(含注解) PS:了解Oracle的系统异常可参考:Oracle预定义的21个系统异常类型 --定义函数...
  • Perl 判断字符串为空

    千次阅读 2015-03-26 09:49:33
    [oracle@jhoa ip_sec]$ cat 2.pl $_='{"code":0,"data":{"country":"台湾","country_id":"TW","area":"","area _id":"","region":"台湾省","region_id":"TW_01","city":"","city_id":"","county":"" ,"county_id":...
  • 目录regexp_substr函数统计字符串指定字符个数模拟split拆分检索 regexp_substr函数 regexp_substr(string, pattern, position, occurrence, modifier) -srcstr:需要处理的字符串; -pattern:正则表达式; -...
  • 判断输入的前17位字符串是否数字的函数: CREATE OR REPLACE FUNCTION isnumeric(str IN VARCHAR2) RETURN NUMBER IS ------------return 0 非数字或者为空 return 1 数字------------- v_str NUMBER; BEGIN ...
  • oracle的非空字符串判断

    千次阅读 2020-04-11 11:37:31
    问题出现: ...在oracle中,空字符串当null处理,所以想找到空字符串,就可以用is null来获取 获取非空字段,就直接用is not null来获取 用 “ =''” 或者 “ != '' ” 来作为条件的话,就会找到结果 ...
  • 摘要:近期项目中,在做高级查询的时候有个条件是根据选择的...一:查询字符串类型的字段的值不为空的SQL: [sql] view plain copy select * from TB_CMS_FLGTINFO_A t where (t.f
  • ORACLE中区分空值和空字符串

    千次阅读 2016-10-19 21:21:14
    (2)可以使用ORACLE内置函数NVL()来区分空值和空字符串,NVL()函数可以将空值转为另外一个值,NVL()函数需要接收两个参数:列和值,如果第一个空值,就将其替换第二个参数的值。NVL()函数除了可以转换包含的...
  • Oracle坑之-空字符串与NULL

    千次阅读 2018-02-13 10:45:11
    Oracle坑之-空字符串与NULL 空字符串与NULL首先有如下代码SELECT * FROM Pdc_DataDomain DD INNER JOIN Pdc_DD_Table DDT ON DD.DataDomainID = DDT.DataDomainID AND DD.ApplicationDBID = '3e7c6764d73f4c...
  • 分类: ...也就是一旦字符串为空,或者有特殊字符,或者有空格等等,都会抛错,以下提供一种方式成功解决以上问题: TO_NUMBER(decode(decode(lower(nvl(replace(translate(strTargetField, '$%',
  • oracle 数据库插入空字符串的坑

    千次阅读 2020-10-13 10:26:36
    数据库中一个VARCHAR2类型的字段为空,于是mybatis 动态映射判断属性是否null,此时前端传值传了个"" 空字符串,动态sql 并没有起效果,但是oracle 插入的时候会将""字符串转换null,报错。一切都是巧合。 ...
  • 在一个字段上使用sum()聚合函数的时候报“ORA-01722:无效数字”错误,原因是该字段值有非数字其中一个解决方法是将只要包含非数字的都替换0select sum(to_number(nvl2(translate(LA_J_B, '/1234567890.', '\'), '0...
  • 一、oracle字符串类型字段排序 首先查看建表语句 CREATE TABLE TESTTP ( ID NUMBER PRIMARY KEY, TCODE VARCHAR2(50), TCOLOR VARCHAR2(1000)) 然后往里面插入数据,数据如下图 从上面的图看来,默认是以ID进行...
  • oracle中 '' 空字符串 和 null 是一样的 判断 变量 is null 即可 如: if '' is null then
  • 之前的应用一直是连接DB2数据库,DB2对空字符串的识别是相等的,如: -- FALSE SELECT 1 FROM DUAL WHERE '' IS NULL; -- TRUE SELECT 1 FROM DUAL WHERE '' IS NOT NULL; -- 注意...
  • Oracle存储过程判断字符是否为空

    万次阅读 2017-06-19 14:16:04
    IF p_Gold_Card_No  p_Audit_Rst_Flag := 'Y';  p_Rcd_Audit_Item.Audit_Rst_Flag := p_Audit_Rst_Flag;  RETURN;  END IF; 上述写法是错误的,正确的写法是: IF p_Gold_Card_No is not nu
  • oracle空字符判断相等

    万次阅读 2012-02-27 17:30:49
    ORACLE中,将空字符串NULL,任何值与NULL比较结果都NULL。如此一来,在比较两个字符串的时候就会出现意外。请看以下的例子: DECLARE   i VARCHAR2(10) := NULL;  v VARCHAR2(10) := 'ABC

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,583
精华内容 14,633
关键字:

oracle判断字符串不为空