【问题标题】:howto cut text from specific character in sqlite query如何在sqlite查询中从特定字符中剪切文本
【发布时间】:2015-01-09 10:42:00
【问题描述】:

SQLITE 查询问题: 我有一个查询,它返回带有字符“#”的字符串。 我想删除这个特定字符“#”之后的所有字符:

select field from mytable;

结果:

text#othertext
text2#othertext
text3#othertext

所以在我的示例中,我想创建一个只返回的查询:

text
text2
text3

我尝试使用 instr() 获取索引,但 instr() 未被识别为函数 -> SQL 错误:没有这样的函数:instr (可能是 db 的旧版本。sqlite_version()-> 3.7.5 )。

任何提示如何实现这一点?

【问题讨论】:

  • 为什么不能更新数据库版本?
  • 此外,如果您遇到问题,因为它可能是旧版本并且您可能无法更新它,您至少应该告诉我们您正在运行哪个版本
  • 类似 SUBSTRING(column FROM 1 FOR POSITION(column,'#')-1) 的东西?
  • 使用 sqlite 版本更新的问题:sqlite_version()-> 3.7.5

标签: sql sqlite


【解决方案1】:

有两种方法:

  1. 你可以rtrim字符串中除#之外的所有字符。

    当然,这假设(a)字符串中只有一个#; (b) 您正在处理简单的字符串(例如 7 位 ASCII),其中很容易列出所有要剥离的字符。

  2. 您可以使用sqlite3_create_function 创建自己的INSTR 演绎版。这里的细节会因您的使用方式而有所不同

【讨论】:

    猜你喜欢
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    相关资源
    最近更新 更多