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

PostgreSQL में एक नंबर पर प्लस/माइनस साइन तैयार करें

PostgreSQL में, आप to_char() . का उपयोग कर सकते हैं किसी संख्या को एक निश्चित प्रारूप में आउटपुट करने के लिए, जिसमें धनात्मक या ऋणात्मक संख्या है या नहीं, यह इंगित करने के लिए प्लस या माइनस चिह्न सहित।

ऐसा करने के लिए, S . में से किसी एक का उपयोग करें , MI , PL , या SG आपके प्रारूप स्ट्रिंग में।

एक अन्य विकल्प PR . का उपयोग करना है कोण कोष्ठक में किसी भी ऋणात्मक मान को संलग्न करने के लिए।

हस्ताक्षरित संख्याओं के लिए टेम्पलेट पैटर्न

संख्या पर उपयुक्त चिह्न लगाने के लिए निम्नलिखित टेम्पलेट पैटर्न का उपयोग किया जा सकता है।

<थ>विवरण
पैटर्न
MI निर्दिष्ट स्थिति में माइनस साइन इन करें (यदि संख्या <0) है।
PL इसके अलावा निर्दिष्ट स्थिति में साइन इन करें (यदि संख्या> 0)।
SG संख्या धनात्मक है या ऋणात्मक इस पर निर्भर करते हुए निर्दिष्ट स्थिति में प्लस या माइनस साइन इन करें।
S संख्या के लिए लंगर डाले (स्थानीय भाषा का उपयोग करता है)।
PR इसमें कोण कोष्ठक के अंदर कोई भी ऋणात्मक मान शामिल होता है।

ध्यान दें कि MI , PL , या SG Postgres एक्सटेंशन हैं (वे मानक SQL नहीं हैं)।

S का उपयोग करने का उदाहरण

S को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है पैटर्न।

SELECT to_char(1, 'S9');

परिणाम:

+1

इस मामले में, संख्या धनात्मक होती है और इसलिए मेरे स्थान का उपयोग करते हुए, धन चिह्न इसके साथ जोड़ा जाता है।

यहाँ यह फिर से है, लेकिन तीन मूल्यों के साथ; एक सकारात्मक, एक नकारात्मक और शून्य।

SELECT 
  to_char(1, 'S9') AS "1",
  to_char(-1, 'S9') AS "-1",
  to_char(0, 'S9') AS "0";

परिणाम:

 1  | -1 | 0  
----+----+----
 +1 | -1 | +0

एसजी का उपयोग करने का उदाहरण

यहां SG के साथ एक ही उदाहरण दिया गया है पैटर्न।

SELECT 
  to_char(1, 'SG9') AS "1",
  to_char(-1, 'SG9') AS "-1",
  to_char(0, 'SG9') AS "0";

परिणाम:

 1  | -1 | 0  
----+----+----
 +1 | -1 | +0

MI का उपयोग करने का उदाहरण

अगर मैं SG को स्वैप करता हूं तो यहां क्या होता है? MI . के साथ ।

SELECT 
  to_char(1, 'MI9') AS "1",
  to_char(-1, 'MI9') AS "-1",
  to_char(0, 'MI9') AS "0";

परिणाम:

 1  | -1 | 0  
----+----+----
  1 | -1 |  0

केवल ऋणात्मक संख्या को ऋणात्मक चिह्न प्राप्त होता है। धनात्मक संख्या और शून्य को कोई चिन्ह नहीं मिलता है।

PL का उपयोग करने का उदाहरण

जब मैं PL . का उपयोग करता हूं तो मेरे सिस्टम पर आउटपुट यहां दिया गया है ।

SELECT 
  to_char(1, 'PL9') AS "1",
  to_char(-1, 'PL9') AS "-1",
  to_char(0, 'PL9') AS "0";

परिणाम:

  1  | -1  |  0  
-----+-----+-----
 + 1 |  -1 | + 0

PR का उपयोग करने का उदाहरण

जब मैं PR . का उपयोग करता हूं तो मेरे सिस्टम पर आउटपुट यहां दिया गया है ।

SELECT 
  to_char(1, '9PR') AS "1",
  to_char(-1, '9PR') AS "-1",
  to_char(0, '9PR') AS "0";

परिणाम:

  1  | -1  |  0  
-----+-----+-----
  1  | <1> |  0 

ध्यान दें कि PR बाद आना चाहिए 9

अगर मैं इसे 9 . से पहले रखने की कोशिश करता हूं तो यहां क्या होता है :

SELECT 
  to_char(1, 'PR9') AS "1",
  to_char(-1, 'PR9') AS "-1",
  to_char(0, 'PR9') AS "0";

परिणाम:

ERROR:  "9" must be ahead of "PR"

एसजी बनाम एस

आपने देखा होगा कि SG . का उपयोग करने वाले उदाहरण और S ऐसा लगता है कि एक ही परिणाम का उत्पादन होता है, और इसलिए आश्चर्य होता है कि उनके बीच क्या अंतर है।

अंतर यह है कि S संख्या से जुड़ा है जबकि SG , MI , PL नहीं हैं।

S लोकेल का भी उपयोग करता है, इसलिए उपयोग किया गया वास्तविक चिन्ह आपके लोकेल पर निर्भर करेगा।

यहां एक उदाहरण दिया गया है जो एंकरिंग के अंतर को दर्शाता है।

SELECT 
  to_char(1, 'S999') AS "S",
  to_char(1, 'SG999') AS "SG";

परिणाम:

  S   |  SG  
------+------
   +1 | +  1

और संख्या बढ़ने पर क्या होता है।

SELECT 
  to_char(1, 'S999') AS "S",
  to_char(1, 'SG999') AS "SG",
  to_char(10, 'S999') AS "S",
  to_char(10, 'SG999') AS "SG",
  to_char(100, 'S999') AS "S",
  to_char(100, 'SG999') AS "SG";

परिणाम:

  S   |  SG  |  S   |  SG  |  S   |  SG  
------+------+------+------+------+------
   +1 | +  1 |  +10 | + 10 | +100 | +100

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक एसक्यूएल परिणाम ट्रांसपोज़ करना ताकि एक कॉलम एकाधिक कॉलम पर जा सके

  2. PostgreSQL में एन्क्रिप्टेड पासवर्ड के साथ उपयोगकर्ता बनाना

  3. दूरस्थ होस्ट से पोस्टग्रेज़ से कनेक्ट नहीं हो सकता

  4. प्रमाणीकरण प्रणाली के साथ PostgreSQL को एकीकृत करना

  5. PostgreSQL के लिए एक इष्टतम वातावरण की स्थापना