2

そのような単純なクエリの場合

runDb . select . from $ \cell -> do
  where_ $ cell ^. CellCode ==. val "x"
  return cell

フィールド値を「x」と比較する前に関数を適用したい。その理由は、データベース内のセル コードの末尾にスペースがあり、たとえばstrip fromを使用してそれらを削除する以外に簡単なことはないからData.Textです。fmapただし、 (2回)使用するという私の最初のアプローチは、

No Instance for (Functor SqlExpr)

Esqueleto が提供する のようなjust、具体的に同様のことを実現する関数があることは知っています (ただし、 の実装は見つかりませんでしjustた)。

パックされた値に関数を適用する方法はありますか?

執筆中: 私の特定のケースでは、like.

編集:適用したい特定の機能を追加しました。

4

2 に答える 2

2

どのような機能を適用したいですか?

誰かがchr()クエリで関数を呼び出す機能を追加した方法を次に示します。

https://github.com/krisajenkins/esqueleto/commit/fa1d1c888770e297fef52d76b6cb68342a6c0376

組み込み関数 (またはユーザー定義関数) の場合は、おそらく同様のことができます。

于 2015-08-27T21:58:58.970 に答える