Pdo\Sqlite::createCollation
  
   SQL文で文字列比較関数として使うユーザー定義関数を登録する
  
  
 
  説明
  
   public bool Pdo\Sqlite::createCollation(string $name, callable $callback)
  
   このメソッドは  Pdo\Sqlite::createFunction
   と似ていますが、文字列比較関数を登録する点が異なります。
  
  
 
  パラメータ
  
   
    - 
name
- 
     
      作成または再定義する文字列比較 SQL 関数の名前
     
    
- 
callback
- 
     
      文字列比較の動作を定義するコールバック関数です。
      この関数は2つのstringを受け取り、
      1番目の文字列が2番目の文字列より前に並ぶ場合 -1、
      同じ並び順の場合0、
      後に並ぶ場合1を返さなければなりません。
      これに似た振る舞いをする組み込み関数として、strcmp が挙げられます。
      This function need to be defined as:
       
       int collation(string $string1, string$string2)
 
 
 
  戻り値
  
   成功した場合に true を、失敗した場合に false を返します。
  
  
 
  例
  
   例1  Pdo\Sqlite::createCollation の例
   
<?php
$db = new Pdo\Sqlite('sqlite::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->sqliteCreateCollation('NATURAL_CMP', 'strnatcmp');
foreach ($db->query("SELECT col1 FROM test ORDER BY col1") as $row) {
  echo $row['col1'] . "\n";
}
echo "\n";
foreach ($db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP") as $row) {
  echo $row['col1'] . "\n";
}
?>
 
   
   
   
  
 
  参考
  
   -  Pdo\Sqlite::createFunction
-  Pdo\Sqlite::createAggregate
- sqlite_create_function
- sqlite_create_aggregate