SQLite3::createCollation
(PHP 5 >= 5.3.11, PHP 7)
SQLite3::createCollat??ion - 注册一个PHP函数用作SQL整理函数
描述
public bool SQLite3::createCollation ( string $name , callable $callback )
注册一个PHP函数或用户定义的函数,用作SQL语句中的整理函数。
参数
name
要创建或重新定义的SQL整理函数的名称
callback
用于定义排序行为的PHP函数或用户定义函数的名称。它应该接受两个字符串,并以strcmp()的形式返回,即,如果第一个字符串在之前排序,排序或等于第二个字符串,它应该返回-1,1或0。
返回值
成功时返回TRUE
或失败时返回FALSE
。
示例
Example #1 SQLite3::createCollation() example
在SQLite3数据库中注册PHP函数strnatcmp()作为整理序列。
<?php
$db?=?new?SQLite3(":memory:");
$db->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?"default:\n";
while?($row?=?$defaultSort->fetchArray()){
????echo?$row['col1'],?"\n";
}
echo?"\nnatural:\n";
while?($row?=?$naturalSort->fetchArray()){
????echo?$row['col1'],?"\n";
}
$db->close();
?>
上面的例子将输出:
default:
a1
a10
a2
natural:
a1
a2
a10
另请参阅
← SQLite3::createAggregate
SQLite3::createFunction →
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com