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

आदेश देते समय PostgreSQL डैश पर ध्यान नहीं देता

ऐसा इसलिए है क्योंकि da_DK.utf8 लोकेल इसे इस तरह परिभाषित करता है। लिनक्स लोकेल अवेयर यूटिलिटीज, उदाहरण के लिए sort भी इसी तरह काम करेगा।

आपका convert_to(name, 'latin1') टूट जाएगा यदि उसे ऐसा वर्ण मिलता है जो लैटिन 1 वर्ण सेट में नहीं है, उदाहरण के लिए , इसलिए यह एक अच्छा समाधान नहीं है।

आप order by convert_to(name, 'SQL_ASCII') द्वारा ऑर्डर का उपयोग कर सकते हैं , जो लोकेल परिभाषित सॉर्ट को अनदेखा कर देगा और केवल बाइट मानों का उपयोग करेगा।

बदसूरत हैक संपादित करें:

order by
  (
    ascii(name) between ascii('a') and ascii('z')
    or ascii(name) between ascii('A') and ascii('Z')
    or ascii(name)>127
  ),
  name;

यह पहले कुछ भी सॉर्ट करेगा जो ASCII गैर-अक्षर से शुरू होता है। यह बहुत बदसूरत है, क्योंकि स्ट्रिंग में आगे क्रमबद्ध करना अजीब व्यवहार करेगा, लेकिन यह आपके लिए काफी अच्छा हो सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डाली गई पंक्ति की Zend डेटाबेस अंतिम आईडी। (पोस्टग्रेज का उपयोग करना)

  2. पोस्टग्रेज में क्रॉसस्टैब का उपयोग करने में असमर्थ

  3. एकाधिक स्तंभों पर अद्वितीय बाधा

  4. दुनिया में मेरे कई रिश्ते क्यों होंगे?

  5. मॉडलिंग उपयोगकर्ता, समूह और सदस्यता डेटाबेस टेबल