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

एक बाइट के रूप में PostgreSQL में हेक्स के साथ टेक्स्ट स्ट्रिंग सम्मिलित करना

आप decode . का उपयोग करके हेक्स स्ट्रिंग को बाइटा में बदल सकते हैं फ़ंक्शन (जहां "एन्कोडिंग" का अर्थ है कुछ टेक्स्ट मान के लिए बाइनरी मान एन्कोड करना)। उदाहरण के लिए:

select decode('DEADBEEF', 'hex');
      decode      
------------------
 \336\255\276\357

जो कि 9.0 के डिफ़ॉल्ट आउटपुट के साथ अधिक समझ में आता है:

   decode   
------------
 \xdeadbeef

जिस कारण से आप E'\xDE\xAD\xBE\xEF' नहीं कह सकते यह है कि इसका उद्देश्य टेक्स्ट वैल्यू बनाना है, बाइटा नहीं, इसलिए Postgresql इसे क्लाइंट एन्कोडिंग से डेटाबेस एन्कोडिंग में बदलने का प्रयास करेगा। आप इस तरह बाइटा एस्केप प्रारूप लिख सकते हैं, लेकिन आपको बैकस्लैश को दोगुना करने की आवश्यकता है:E'\\336\\255\\276\\357'::bytea . मुझे लगता है कि आप देख सकते हैं कि बाइटा प्रारूप क्यों बदला जा रहा है... IMHO decode() फ़ंक्शन इनपुट लिखने का एक उचित तरीका है, भले ही इसमें कुछ ओवरहेड शामिल हो।



  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. एसक्यूएल:उन रिकॉर्ड्स का चयन करें जहां सभी जुड़े हुए रिकॉर्ड कुछ शर्तों को पूरा करते हैं

  3. PostgreSQL डेटाबेस में आकार (सापेक्ष और निरपेक्ष) के साथ स्कीमा की सूची

  4. एएमडी, इंटेल और पोस्टग्रेएसक्यूएल

  5. कमांड लाइन का उपयोग करके पोस्टग्रेज बैकअप फ़ाइल को पुनर्स्थापित करें?