SQLite中的Base64?

有没有类似的东西?

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索引中。

链接地址: http://www.djcxy.com/p/7593.html

上一篇: Base64 in SQLite?

下一篇: Writing a code formatting tool for a programming language