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

SQL सर्वर में केवल संख्यात्मक मान कैसे लौटाएं?

SQL सर्वर में, हम ISNUMERIC() . का उपयोग कर सकते हैं कॉलम से संख्यात्मक मान वापस करने के लिए कार्य करता है।

संख्यात्मक डेटा वाले सभी मानों को वापस करने के लिए हम वैकल्पिक रूप से एक अलग क्वेरी चला सकते हैं।

नमूना डेटा

मान लीजिए हम एक varchar . के साथ एक टेबल बनाते हैं कॉलम, और डेटा इस प्रकार डालें:

DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
    c1 varchar(255)
);

INSERT INTO t1 (c1) VALUES 
    ('0'),
    ('1'),
    ('+1'),
    ('-1'),
    ('+1'),
    ('00.00'),
    ('73.45'),
    ('+73.45'),
    ('-73.45'),
    ('.246'),
    ('-.34e7'),
    ('12.e-3'),
    ('1.2e+4'),
    ('a'),
    ('9afc'),
    ('e7'),
    ('+e0'),
    ('Ten'),
    ('5 Dollars');

SELECT * FROM t1;

परिणाम:

+-----------+
| c1        |
|-----------|
| 0         |
| 1         |
| +1        |
| -1        |
| +1        |
| 00.00     |
| 73.45     |
| +73.45    |
| -73.45    |
| .246      |
| -.34e7    |
| 12.e-3    |
| 1.2e+4    |
| a         |
| 9afc      |
| e7        |
| +e0       |
| Ten       |
| 5 Dollars |
+-----------+

यह देखना एक varchar है कॉलम, इसमें वर्ण डेटा होता है। इसमें संख्यात्मक डेटा हो सकता है, लेकिन इसे संख्यात्मक प्रकार के रूप में संग्रहीत नहीं किया जाता है। इसलिए, कॉलम में टेक्स्ट डेटा और न्यूमेरिक दोनों हो सकते हैं। निम्नलिखित उदाहरण संख्यात्मक मानों के लिए इस कॉलम की जांच करते हैं।

ISNUMERIC() समारोह

SELECT c1
FROM t1
WHERE ISNUMERIC(c1) = 1;

परिणाम:

+--------+
| c1     |
|--------|
| 0      |
| 1      |
| +1     |
| -1     |
| +1     |
| 00.00  |
| 73.45  |
| +73.45 |
| -73.45 |
| .246   |
| -.34e7 |
| 12.e-3 |
| 1.2e+4 |
+--------+

यहाँ, मैंने ISNUMERIC() . का प्रयोग किया है समान के साथ कार्य करें (= ) ऑपरेटर उन मानों को वापस करने के लिए जो संख्यात्मक हैं। फ़ंक्शन 1 लौटाता है जब यह संख्यात्मक हो और 0 जब यह नहीं है।

ऐसे मान ढूंढें जिनमें संख्याएं हों

हम निम्नलिखित क्वेरी का उपयोग उन सभी पंक्तियों को वापस करने के लिए कर सकते हैं जिनमें संख्यात्मक मान होते हैं (भले ही उनमें अन्य वर्ण भी हों)।

SELECT c1
FROM t1 
WHERE c1 LIKE '%[0-9]%';

परिणाम:

+-----------+
| c1        |
|-----------|
| 0         |
| 1         |
| +1        |
| -1        |
| +1        |
| 00.00     |
| 73.45     |
| +73.45    |
| -73.45    |
| .246      |
| -.34e7    |
| 12.e-3    |
| 1.2e+4    |
| 9afc      |
| e7        |
| +e0       |
| 5 Dollars |
+-----------+

यह पिछले उदाहरण से भिन्न परिणाम है, क्योंकि हम केवल उन सभी मानों की तलाश कर रहे हैं जिनमें शामिल है कोई संख्यात्मक डेटा। पिछले उदाहरण में, हम उन मानों की तलाश कर रहे थे जो संख्यात्मक हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में CONVERT () के साथ उपलब्ध दिनांक स्वरूपों की सूची

  2. SQL सर्वर में नेस्टेड केस स्टेटमेंट लॉजिक करने का सबसे अच्छा तरीका

  3. पहली बार इसे देखने वालों के लिए MS SQL सर्वर का विश्लेषण

  4. SQL सर्वर प्रबंधन स्टूडियो (SSMS) में .csv या Tab सीमांकित फ़ाइल में क्वेरी परिणाम कैसे निर्यात करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 23

  5. T-SQL का उपयोग करके SQL सर्वर में लिंक किए गए सर्वर को निकालें