Eine aufbereitete Darstellung der Quelle

 
     
 
 
 
 
 
 

Benutzer

Quelle  text.sql

  Sprache: SQL
 

--
-- TEXT
--

SELECT text 'this is a text string' = text 'this is a text string' AS true;

SELECT text 'this is a text string' = text 'this is a text strin' AS false;

-- text_tbl was already created and filled in test_setup.sql.
SELECT * FROM TEXT_TBL;

-- As of 8.3 we have removed most implicit casts to text, so that for example
-- this no longer works:

select length(42);

-- But as a special exception for usability's sake, we still allow implicit
-- casting to text in concatenations, so long as the other input is text or
-- an unknown literal.  So these work:

select 'four: '::text || 2+2;
select 'four: ' || 2+2;

-- but not this:

select 3 || 4.0;

/*
 * various string functions
 */

select concat('one');
select concat(1,2,3,'hello',truefalse, to_date('20100309','YYYYMMDD'));
select concat_ws('#','one');
select concat_ws('#',1,2,3,'hello',truefalse, to_date('20100309','YYYYMMDD'));
select concat_ws(',',10,20,null,30);
select concat_ws('',10,20,null,30);
select concat_ws(NULL,10,20,null,30is null;
select reverse('abcde');
select i, left('ahoj', i), right('ahoj', i) from generate_series(-55) t(i) order by i;
select quote_literal('');
select quote_literal('abc''');
select quote_literal(e'\\');
-- check variadic labeled argument
select concat(variadic array[1,2,3]);
select concat_ws(',', variadic array[1,2,3]);
select concat_ws(',', variadic NULL::int[]);
select concat(variadic NULL::int[]) is NULL;
select concat(variadic '{}'::int[]) = '';
--should fail
select concat_ws(',', variadic 10);

/*
 * format
 */

select format(NULL);
select format('Hello');
select format('Hello %s''World');
select format('Hello %%');
select format('Hello %%%%');
-- should fail
select format('Hello %s %s''World');
select format('Hello %s');
select format('Hello %x'20);
-- check literal and sql identifiers
select format('INSERT INTO %I VALUES(%L,%L)''mytab'10'Hello');
select format('%s%s%s','Hello'NULL,'World');
select format('INSERT INTO %I VALUES(%L,%L)''mytab'10NULL);
select format('INSERT INTO %I VALUES(%L,%L)''mytab'NULL'Hello');
-- should fail, sql identifier cannot be NULL
select format('INSERT INTO %I VALUES(%L,%L)'NULL10'Hello');
-- check positional placeholders
select format('%1$s %3$s'123);
select format('%1$s %12$s'123456789101112);
-- should fail
select format('%1$s %4$s'123);
select format('%1$s %13$s'123456789101112);
select format('%0$s''Hello');
select format('%*0$s''Hello');
select format('%1$'1);
select format('%1$1'1);
-- check mix of positional and ordered placeholders
select format('Hello %s %1$s %s''World''Hello again');
select format('Hello %s %s, %2$s %2$s''World''Hello again');
-- check variadic labeled arguments
select format('%s, %s', variadic array['Hello','World']);
select format('%s, %s', variadic array[12]);
select format('%s, %s', variadic array[truefalse]);
select format('%s, %s', variadic array[truefalse]::text[]);
-- check variadic with positional placeholders
select format('%2$s, %1$s', variadic array['first''second']);
select format('%2$s, %1$s', variadic array[12]);
-- variadic argument can be array type NULL, but should not be referenced
select format('Hello', variadic NULL::int[]);
-- variadic argument allows simulating more than FUNC_MAX_ARGS parameters
select format(string_agg('%s',','), variadic array_agg(i))
from generate_series(1,200) g(i);
-- check field widths and left, right alignment
select format('>>%10s<<''Hello');
select format('>>%10s<<'NULL);
select format('>>%10s<<''');
select format('>>%-10s<<''');
select format('>>%-10s<<''Hello');
select format('>>%-10s<<'NULL);
select format('>>%1$10s<<''Hello');
select format('>>%1$-10I<<''Hello');
select format('>>%2$*1$L<<'10'Hello');
select format('>>%2$*1$L<<'10NULL);
select format('>>%2$*1$L<<', -10NULL);
select format('>>%*s<<'10'Hello');
select format('>>%*1$s<<'10'Hello');
select format('>>%-s<<''Hello');
select format('>>%10L<<'NULL);
select format('>>%2$*1$L<<'NULL'Hello');
select format('>>%2$*1$L<<'0'Hello');

Messung V0.5 in Prozent
C=84 H=96 G=90

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002