簡體   English   中英

SQLite 中的 Base64?

[英]Base64 in SQLite?

有沒有類似的東西

SELECT * FROM foo WHERE base64(bar) LIKE '%bararar%'

在 SQLite 中?

如果沒有,其他 SQL 風格的數據庫中是否還有其他可比較的函數? (MySQL、MSSQL 等)

我真的需要知道這一點,因為我有一個巨大的數據庫,其中一些 base64 編碼的字符串包含我必須過濾掉的特定字符。 希望可以有人幫幫我。

System.Data.SQLite 支持 .NET 中的自定義函數。 如果您使用的是不這樣做的不同包裝器,請更改包裝器。 最新版本在這里:

http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

它曾經在這里,但現在是主要 SQLite 項目的一部分:

http://sqlite.phxsoftware.com/

例子:

[SQLiteFunction(Name = "Base64", Arguments = 1, FuncType = FunctionType.Scalar)]
class Base64SQLite : SQLiteFunction
{
  public override object Invoke(object[] args)
  {
    // assumes args[0] is a string, but you can handle binary data too
    var bytes = Encoding.UTF8.GetBytes(Convert.ToString(args[0]));
    return Convert.ToBase64String(bytes);
  }
}

如果您要對這些數據進行大量搜索,尤其是通配符搜索,那么您最好緩存數據(使用觸發器)並將其放入 FTS 索引中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM