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

PostgreSQL में एक दशमलव से अनुगामी शून्य कैसे निकालें

समस्या:

आप दशमलव संख्या के भिन्नात्मक भाग से पीछे वाले शून्य को हटाना चाहते हैं।

उदाहरण:

हमारे डेटाबेस में ribbon कॉलम में डेटा के साथ आईडी , नाम , और चौड़ाई (मीटर में, एक दशमलव संख्या द्वारा 4-अंकीय भिन्नात्मक भाग के साथ दर्शाया जाता है)।

<थ>नाम <थ>चौड़ाई
आईडी
1 बड़ा साटन N24 1.2000
2 निर्माण Yc2 0.5500
3 तीन रंग 4F1 3.2050
4 ब्लू रिबन LB1 0.1265

आइए रिबन के नाम के साथ-साथ उनकी चौड़ाई मीटर में प्राप्त करें, लेकिन बिना अनुगामी शून्य के।

समाधान:

हम ऑपरेटर का उपयोग करेंगे ‘::’ दशमलव संख्या को वास्तविक डेटा प्रकार में बदलने के लिए। यहां वह प्रश्न है जो आप लिखेंगे:

SELECT name, 
  width::REAL 
FROM ribbon;

ये रहा परिणाम:

<थ>नई_चौड़ाई
नाम
बड़ा साटन N24 1.2
निर्माण Yc2 0.55
तीन रंग 4F1 3.205
ब्लू रिबन LB1 0.1265

चर्चा:

:: का उपयोग करें अनुगामी शून्य वाली दशमलव संख्या को बिना अतिरिक्त शून्य वाली संख्या में बदलने के लिए ऑपरेटर। यह ऑपरेटर बाईं ओर के मान को दाईं ओर रखे गए डेटा प्रकार में परिवर्तित करता है।

हमारे उदाहरण में, चौड़ाई में दशमलव मान को वास्तविक डेटा प्रकार में बदल दिया गया था, जो अनुगामी शून्य प्रदर्शित नहीं करता है। 'लार्ज सैटिन N24' रिबन में width है 1.2000 का मान - लेकिन हमें इस संख्या के भिन्नात्मक भाग में शून्य की आवश्यकता नहीं है। इसलिए, हमने उन्हें काटने के लिए वास्तविक डेटा प्रकार में परिवर्तित किया (हमारे उदाहरण में, तीन शून्य हटा दिए गए थे)। यह संख्या प्रदर्शित करने का एक सुविधाजनक तरीका है क्योंकि यह केवल अनुगामी शून्य को हटाता है; उदाहरण के लिए, 'ब्लू रिबन LB1' में दशमलव बिंदु के बाद कोई पिछला शून्य नहीं होता है, इसलिए रूपांतरण के बाद इसका मान समान रहता है।

यदि आपके सभी मानों के भिन्नात्मक भाग में समान संख्या में शून्य हैं, तो TRUNC() का उपयोग करें समारोह। इसमें दो तर्क होते हैं:मान/स्तंभ नाम जिसमें संख्या और एक पूर्णांक होता है जो भिन्नात्मक अंकों की वांछित संख्या को दर्शाता है; बाकी काट दिया जाता है। width . कॉलम में अलग-अलग मानों के साथ एक ही उदाहरण देखें :

<थ>नाम <थ>चौड़ाई
आईडी
1 बड़ा साटन N24 1.200
2 निर्माण Yc2 0.500
3 तीन रंग 4F1 3.200
4 ब्लू रिबन LB1 0.100

समाधान 2:

यहां वह प्रश्न है जो आप लिखेंगे:

SELECT name, 
  TRUNC(width,1) 
FROM ribbon;

ये रहा परिणाम:

<थ>नई_चौड़ाई
नाम
बड़ा साटन N24 1.0
निर्माण Yc2 0.5
तीन रंग 4F1 3.2
ब्लू रिबन LB1 0.1

दशमलव भाग में केवल एक अंक प्रदर्शित होता है। ध्यान दें कि TRUNC() केवल शून्य ही नहीं, बल्कि सभी अंकों को काटता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे pg_sleep () PostgreSQL में काम करता है

  2. मैं पाइथन के माध्यम से PostgreSQL में कॉलम टिप्पणियां कैसे सम्मिलित कर सकता हूं?

  3. मॉडलिंग और सामान्य करते समय अशक्त मूल्यों के साथ क्या करें?

  4. Django + Psycopg2:InterfaceError:केवल प्रोटोकॉल 3 समर्थित

  5. PostgreSQL प्रक्रियात्मक भाषा C नहीं मिला