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

Postgresql में n-gram कैसे बनाएं

इस फ़ंक्शन को आज़माएं।

CREATE OR REPLACE FUNCTION myngram(mystr TEXT, n INT) RETURNS TEXT[]
AS $$
DECLARE
str VARCHAR;
arr TEXT[];
BEGIN

  str := lpad(mystr, n - 1 + char_length(mystr), ' ');
  str := rpad(str, n - 1 + char_length(str), ' ');

  arr := array[]::TEXT[];
  FOR i IN 1 .. char_length(str) - n + 1 LOOP
    arr := arr || substring(str from i for n);
  END LOOP;
  RETURN arr;
END
$$
LANGUAGE plpgsql;

मेरे परीक्षण के परिणाम।

testdb=# SELECT myngram('abcpqrs', 4);
                             myngram                             
-----------------------------------------------------------------
 {"   a","  ab"," abc",abcp,bcpq,cpqr,pqrs,"qrs ","rs  ","s   "}
(1 row)

testdb=# SELECT myngram('abcpqrs', 5);
                                       myngram                                       
-------------------------------------------------------------------------------------
 {"    a","   ab","  abc"," abcp",abcpq,bcpqr,cpqrs,"pqrs ","qrs  ","rs   ","s    "}
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. टिप्पणी संख्या/गिनती DESC द्वारा सबसे अधिक टिप्पणी आदेश के साथ पदों को खोजने के लिए एक sql क्वेरी की आवश्यकता है

  2. मैं तैयार बयान के साथ पोस्टग्रेस्क्ल में टाइमज़ोन के साथ टाइमस्टैम्प कैसे डाल सकता हूं?

  3. Django:पुनर्स्थापित करने के बाद डेटाबेस तक पहुंचने का प्रयास करते समय अनुमति अस्वीकार कर दी गई (माइग्रेशन)

  4. डॉकर - पीजी ::कनेक्शनबैड

  5. Postgres . में मौजूदा कॉलम में 'धारावाहिक' जोड़ना