SQLite3::createCollationRegistra una función PHP para utilizarla como función de clasificación SQL
&reftitle.description;
publicboolSQLite3::createCollationstringnamecallablecallback
Registra una función PHP o una función definida por el usuario para
utilizarla como función de clasificación en una consulta SQL.
&reftitle.parameters;
name
Nombre de la función de clasificación SQL a crear o redefinir.
callback
El nombre de una función PHP o de una función definida por el usuario
a aplicar como función de retorno, definiendo el comportamiento
de la clasificación. Debe aceptar dos argumentos y retornará
lo mismo que la función strcmp, es decir
debe retornar -1, 1, o 0 si la primera cadena se clasifica antes,
después, o es equivalente a la segunda.
Esta función debe ser definida como:
intcollationmixedvalue1mixedvalue2
&reftitle.returnvalues;
&return.success;
&reftitle.examples;
Ejemplo con SQLite3::createCollation
Registra la función PHP strnatcmp como
secuencia de clasificación en la base de datos SQLite3.
exec("CREATE TABLE test (col1 string)");
$db->exec("INSERT INTO test VALUES ('a1')");
$db->exec("INSERT INTO test VALUES ('a10')");
$db->exec("INSERT INTO test VALUES ('a2')");
$db->createCollation('NATURAL_CMP', 'strnatcmp');
$defaultSort = $db->query("SELECT col1 FROM test ORDER BY col1");
$naturalSort = $db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP");
echo "Por omisión :\n";
while ($row = $defaultSort->fetchArray()){
echo $row['col1'], "\n";
}
echo "\nNatural :\n";
while ($row = $naturalSort->fetchArray()){
echo $row['col1'], "\n";
}
$db->close();
?>
]]>
&example.outputs;
&reftitle.seealso;
La documentación sobre la clasificación SQLite : &url.sqlite.collation;