PDO::sqliteCreateCollation
Registra una función definida por el usuario para emplearla como función de cotejo en sentencias SQL
&reftitle.description;
public boolPDO::sqliteCreateCollation
stringname
callablecallback
&warn.experimental.func;
&reftitle.parameters;
name
Nombre de la función de cotejo de SQL a crear o redefinir.
callback
El nombre de una función de PHP o una definida por el usuario para aplicarla como retrollamada, definiendo el comportamiento del cotejamiento. Debería aceptar dos cadenas y devolver lo mismo que strcmp(), es decir, debería devolver -1, 1, o 0 si la primera cadena es anterior en orden, posterior, o es igual a la segunda.
Es necesario definir esta función como:
intcollation
stringstring1
stringstring2
&reftitle.returnvalues;
&return.success;
&reftitle.examples;
Ejemplo de PDO::sqliteCreateCollation
exec("CREATE TABLE test (col1 string)");
$bd->exec("INSERT INTO test VALUES ('a1')");
$bd->exec("INSERT INTO test VALUES ('a10')");
$bd->exec("INSERT INTO test VALUES ('a2')");
$bd->sqliteCreateCollation('NATURAL_CMP', 'strnatcmp');
foreach ($bd->query("SELECT col1 FROM test ORDER BY col1") as $fila) {
echo $fila['col1'] . "\n";
}
echo "\n";
foreach ($bd->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP") as $fila) {
echo $fila['col1'] . "\n";
}
?>
]]>
&example.outputs;
&reftitle.notes;
Este método no está disponible con el controlador de SQLite2.
Use la API de sqlite del estilo antiguo en su lugar.