L' ||
opérateur est "concaténé" - il joint les deux chaînes de ses opérandes.
Sur http://www.sqlite.org/lang_expr.html
Pour le rembourrage, la façon apparemment la plus tricheuse que j'ai utilisée est de commencer avec votre chaîne cible, par exemple «0000», concaténer «0000423», puis substr (résultat, -4, 4) pour «0423».
Mise à jour: Il semble qu'il n'y ait pas d'implémentation native de "lpad" ou "rpad" dans SQLite, mais vous pouvez suivre (essentiellement ce que j'ai proposé) ici: http://verysimple.com/2010/01/12/sqlite-lpad -fonction-pad /
-- the statement below is almost the same as
-- select lpad(mycolumn,'0',10) from mytable
select substr('0000000000' || mycolumn, -10, 10) from mytable
-- the statement below is almost the same as
-- select rpad(mycolumn,'0',10) from mytable
select substr(mycolumn || '0000000000', 1, 10) from mytable
Voici à quoi ça ressemble:
SELECT col1 || '-' || substr('00'||col2, -2, 2) || '-' || substr('0000'||col3, -4, 4)
ça donne
"A-01-0001"
"A-01-0002"
"A-12-0002"
"C-13-0002"
"B-11-0002"