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

कैसे Div () PostgreSQL में काम करता है

PostgreSQL में, div() फ़ंक्शन अपने पहले तर्क के पूर्णांक भागफल को उसके दूसरे तर्क से विभाजित करके लौटाता है।

सिंटैक्स

आधिकारिक वाक्य रचना इस प्रकार है:

div(y numeric, x numeric)

उदाहरण

यह कैसे काम करता है इसका एक उदाहरण यहां दिया गया है।

SELECT div(12, 3);

परिणाम:

4

इस मामले में मैंने 12 को 3 से विभाजित किया है, और परिणाम 4 है।

अधिक प्रभाग

यहाँ उसी संख्या पर कुछ और विभाजन दिए गए हैं।

SELECT 
  div(12, 1),
  div(12, 2),
  div(12, 3),
  div(12, 4);

परिणाम:

 div | div | div | div
-----+-----+-----+-----
  12 |   6 |   4 |   3

आंशिक परिणाम

यह फ़ंक्शन पूर्णांक भागफल देता है, इसलिए परिणाम से कोई भी भिन्नात्मक राशि हटा दी जाती है।

SELECT div(12, 5);

परिणाम:

2

12 विभाजित 5 वास्तव में 2.4 है, लेकिन यह फ़ंक्शन भिन्नात्मक भाग को वापस नहीं करता है और इसलिए हमें 2 मिलता है।

कोई राउंडिंग भी होती नहीं दिख रही है। उदाहरण के लिए, 9 को 5 से भाग देने पर 1.8 है, लेकिन div() 1 लौटाता है (यह 2 तक पूर्णांकित नहीं होता है)।

SELECT div(9, 5);

परिणाम:

1

तो यह अधिक व्यवहार करता है जैसे trunc() . को लागू करना (या शायद floor() . भी ) परिणाम के लिए, बजाय round() या ceiling()

शून्य से भाग

यदि आप किसी संख्या को शून्य से विभाजित करने का प्रयास करते हैं, तो आपको एक त्रुटि मिलेगी।

SELECT div(12, 0);

परिणाम:

ERROR: division by zero

लेकिन अगर आप शून्य को किसी अन्य संख्या से विभाजित करते हैं, तो आपको शून्य ही मिलेगा।

SELECT div(0, 12);

परिणाम:

0

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में एक अस्थायी फ़ंक्शन कैसे बनाएं?

  2. PgBouncer के साथ PostgreSQL कनेक्शन पूलिंग

  3. org.postgresql.util.PSQLException:स्तंभ अनुक्रमणिका सीमा से बाहर है:3, स्तंभों की संख्या:2

  4. मैं अगली चयन अभिव्यक्ति में कॉलम उपनाम का उपयोग क्यों नहीं कर सकता?

  5. रेगुलर एक्सप्रेशन या LIKE पैटर्न के लिए एस्केप फंक्शन