2

POSTGRESQL データベースを使用しており、JSON 型の列で並べ替える必要があります。これは私が得るエラーです:

ERROR: could not identify an ordering operator for type json
LINE 1: SELECT * FROM "field" "t" ORDER BY "t"."brand" LIMIT 10

JSONデータ型で注文することはできますか? 回避策の提案はありますか?

テーブル フィールド:

  • field_id INT
  • 名前 テキスト
  • タイプINT
  • ブランドJSON

これが私のコードです:

$sql = 'SELECT * FROM "field" "t" ORDER BY "t"."brand"';      
$data = Yii::app()->db->createCommand($sql);
$result = $data->queryAll();
4

1 に答える 1

2

これには json アクセサーが必要です。PG 9.2 の時点では、何も組み込まれていません。

http://www.postgresql.org/docs/9.2/static/functions-json.html

PG 9.3 には、必要なものが含まれています。

http://www.postgresql.org/docs/9.3/static/functions-json.html

それまでの間、plperl などでアクセサ メソッドを記述したり、拡張機能をインストールしたりできます。

https://github.com/theirix/json_accessors

于 2013-05-17T14:08:38.127 に答える