【问题标题】:what does caret do in postgresql?插入符号在 postgresql 中有什么作用?
【发布时间】:2021-06-10 17:59:59
【问题描述】:

我正在玩 hackthebox 机器,目前的机器有一个 postgresql 数据库。查询以 ' 中断,如下所示:

错误:“'”处或附近未终止的带引号的字符串第 1 行:选择 * from 名字喜欢 '%test'%' ^

的汽车

我知道 % 用于在查询字符串中搜索提供的字符,但是,^ 用于什么?

粗体突出显示我的测试查询

我所有的搜索都产生了关于正则表达式和插入符号表示字符串开头的结果。加上有关使用 cli 或类似内容的其他结果。

谁能告诉我查询结束时它在做什么?

【问题讨论】:

  • 一般在Postgres错误信息中^指向错误的位置。
  • 您能否发布错误消息的准确、逐行输出(甚至可能是屏幕截图)?插入符号通常不是查询的一部分,而是错误消息的一部分。
  • 谢谢大家,在我的情况下,答案是 jjanes 和 Adrian 的回复。它指向最后一行发生的错误(奇数引号)。

标签: postgresql caret


【解决方案1】:

您正在寻找专门在错误消息中使用插入符号的方法。

如果我运行这个查询:

psql -c " Select * from cars where name ilike '%test'%'"

这是我得到的,保留换行符和空格:

ERROR:  unterminated quoted string at or near "'"
LINE 1:  Select * from cars where name ilike '%test'%'
                                                     ^

插入符号指向上一行中发生错误的位置。在这种情况下,这就是从未关闭的开始引号所在的位置。

如果您使用的工具会导致错误消息的格式错误,您应该考虑更换一个没有错误消息的工具,或者想办法解决它。

【讨论】:

    猜你喜欢
    • 2011-04-06
    • 2011-01-27
    • 2017-09-19
    相关资源
    最近更新 更多