繁体   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