Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ORACLE - सबक्वेरी पर काउंट चुनें

यह निर्धारित करने के लिए कि क्या यह एक वैध संख्या है, आप नियमित अभिव्यक्ति के साथ प्रत्येक कॉलम का परीक्षण कर सकते हैं:

SELECT COUNT(1)
FROM   table_of_ranges
WHERE  CASE WHEN REGEXP_LIKE( RangeA, '^-?\d+(\.\d*)?$' )
            THEN TO_NUMBER( RangeA )
            ELSE NULL END
          < 10
AND    REGEXP_LIKE( RangeB, '^-?\d+(\.\d*)?$' );

एक अन्य विकल्प उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन का उपयोग करना है:

CREATE OR REPLACE FUNCTION test_Number (
  str VARCHAR2
) RETURN NUMBER DETERMINISTIC
AS
  invalid_number EXCEPTION;
  PRAGMA EXCEPTION_INIT(invalid_number, -6502);
BEGIN
  RETURN TO_NUMBER( str );
EXCEPTION
  WHEN invalid_number THEN
    RETURN NULL;
END test_Number;
/

तब आप यह कर सकते हैं:

SELECT COUNT(*)
FROM   table_of_ranges
WHERE  test_number( RangeA ) <= 10
AND    test_number( RangeB ) IS NOT NULL;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा:Oracle से ब्लॉब पढ़ना

  2. Oracle में समय क्षेत्र बदलने के 4 तरीके

  3. IN सूची में मौजूद तत्वों के लिए भी रिटर्निंग परिणाम जो तालिका में मौजूद नहीं हैं

  4. Oracle में regexp_replace द्वारा अल्पविराम से अलग की गई सूची से डुप्लिकेट कैसे निकालें?

  5. ओरेकल पीएल/एसक्यूएल में सीएसवी फाइलों को कुशलतापूर्वक पढ़ें और आयात करें