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

क्या postgresql 9.3 डेटा प्रकार डालने का कोई तरीका है ताकि यह केवल एक पक्ष को प्रभावित कर सके

कास्ट तीन प्रकार की होती है। आपके स्रोत के लिए एक लक्षित प्रकार के लिए पंजीकृत कास्ट "असाइनमेंट" (a .) होना चाहिए ) या "निहित" (i ) VALUES . में काम करने के लिए एक INSERT . की अभिव्यक्ति बयान। सिस्टम कैटलॉग pg_cast देख रहे हैं , boolean . से कास्ट से integer केवल परिभाषित किया गया है "स्पष्ट" (e ) :

SELECT castsource::regtype, casttarget::regtype, castfunc::regproc, castcontext
FROM   pg_cast
WHERE  castsource = 'bool'::regtype
AND    casttarget = 'int'::regtype;

परिणाम:

castsource  casttarget  castfunc         castcontext
boolean     integer     pg_catalog.int4  e

संबंधित:

आपको बदलना होगा castcontext इसे काम करने के लिए - जिसे आप कर सकते हैं सुपरसुसर के रूप में करें। इस आकर्षक पैंतरेबाज़ी के लिए कोई "ALTER CAST" कथन नहीं है, आपको UPDATE करना होगा सीधे। पसंद:

UPDATE pg_cast
SET    castcontext = 'a'
WHERE  castsource = 'bool'::regtype
AND    casttarget = 'int'::regtype;

हालांकि , प्रत्येक कास्ट के पूर्वनिर्धारित कास्ट संदर्भ के अच्छे कारण हैं। सिस्टम कैटलॉग के साथ छेड़छाड़ कुछ ऐसा नहीं है जिसे आपको हल्के में करना चाहिए। इस विशेष मामले में यह निर्णय लेने में असंतुलन पैदा कर सकता है जब पोस्टग्रेज को एक मिलान करने वाली कास्ट चुनना होता है। जैसे अतिभारित कार्यों के एक सेट से चुनने के लिए ...

integer -> boolean . के लिए समान प्रक्रिया , int2 -> boolean , boolean -> int2 , आदि.



  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. CSV फ़ाइल डेटा को PostgreSQL तालिका में कैसे आयात करें?

  3. Postgres . से इंजीनियर pojos को उलटने के लिए हाइबरनेट टूल का उपयोग करना

  4. तुर्की चरित्र पर ऊपरी कार्य पोस्टग्रेज अपेक्षित परिणाम नहीं देता है

  5. डोकर-लिखें के साथ एक नामित मात्रा निकालें?