警告:字符串文字中转义的非标准使用

2024-01-03

我有查询删除双空格并将其转换为单空格。

UPDATE tablename SET name=trim(regexp_replace(name,'\s\s+',' ', 'g'));

它给出错误:

WARNING: nonstandard use of escape in a string literal
HINT:  Use the escape string syntax for escapes, e.g., E'\r\n'.

您正在使用以下设置运行旧版本的 Postgresescape_string_warning = on(默认)和standard_conforming_strings = off (过时了!,默认为on从 Postgres 9.1 开始)。手册: https://www.postgresql.org/docs/current/static/runtime-config-compatible.html#GUC-ESCAPE-STRING-WARNING

escape_string_warning(boolean)

打开时,如果反斜杠 (\) 出现在普通的 字符串字面量 ('...'语法)和standard_conforming_strings is off。 默认为on. (...)

只是修复语法并摆脱WARNING:

trim(regexp_replace(name, E'\\s\\s+', ' ', 'g'))

正确的解决方案:升级到最新版本的 Postgres,或将过时的设置修复为standard_conforming_strings =on.
在现代 Postgres 中,您的表达式按原样有效。

准确地说,\s是类的简写[[:space:]] https://www.postgresql.org/docs/current/static/functions-matching.html#POSIX-CLASS-SHORTHAND-ESCAPES-TABLE, 包括any有点儿空白 https://en.wikipedia.org/wiki/Whitespace_character(包括 tab、nbsp 等)。您的表达式将任何两个或多个空格字符的字符串替换为单个空格字符。符合您的描述的表达式是:

trim(regexp_replace(name,'  +', ' ', 'g'))

...无论版本和以上设置如何,它都可以工作。

Related:

  • 在 PostgreSQL 中插入带单引号的文本 https://stackoverflow.com/questions/12316953/insert-text-with-single-quotes-in-postgresql/12320729#12320729

  • 将 varchar 字符串排序为数字 https://stackoverflow.com/questions/8502505/order-varchar-string-as-numeric/8502570#8502570

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

警告:字符串文字中转义的非标准使用 的相关文章

随机推荐

  • Laravel:如何从目录中获取随机图像?

    我有一个包含子目录的目录 每个子目录中都有图像 我想随机显示图像 下面我的 php 代码运行良好 但在 Laravel 中不起作用 问题在于opendir and readdir 查看刀片 div div
  • 如何与盐师沟通

    我正在尝试从 salt minion 访问 salt master 但是 我无法获得 salt master 的密钥 在我的虚拟机上 我安装了salt master在我的 Windows 上 我安装了salt minion 我已经在我的mi
  • 如何在 Makefile 中定义规则以仅编译已修改的 *.cpp 文件(及其依赖项),而不是所有 *.cpp 文件

    假设我有文件 Libs 一 cpp 一 h 两个 cpp 两个 h 三 cpp 三 h Program 程序 cpp 有没有办法创建 Makefile 它只编译上次编译时修改的 cpp 目前我有类似的东西 SRCS one cpp two
  • 提取两个字符串之间的所有字符串

    我正在尝试开发一种方法来匹配两个字符串之间的所有字符串 我已经尝试过 但它只返回第一个匹配项 string ExtractString string s string start string end You should check fo
  • 使用原则 2 和存储库,服务层的目的是什么?

    我正在设计我的应用程序 并且正在使用 Doctrine 2 和 Zend Framework 目前 我已经编写了所有实体 我将开始编写存储库 我想到了服务 我想知道我的服务层是否不会重复存储库 当我使用 Doctrine 2 存储库时 是否
  • 混淆(表单属性)[重复]

    这个问题在这里已经有答案了 我对使用 form 属性感到困惑 Form From MDN 一个输入最多可以与一个表单关联 From W3S form属性指定一个或多个表单元素 属于 要引用多个表单 请使用 以空格分隔的表单 ID 列表 那么
  • Google Apps 脚本 - 如何替换文件?

    我正在尝试使用脚本替换 Google 云端硬盘文件夹中的 PDF 文件 由于GAS不提供添加修订 版本 的方法 我试图替换文件的内容 但我得到的只是一个空白的PDF 我无法使用 DriveApp File 类 因为我们的管理员已禁用新 AP
  • C#:根据平台访问 32 位/64 位 DLL

    我们使用 C 应用程序中自行编写的 32 位 C DLL 现在我们注意到 当 C 应用程序在 64 位系统上运行时 会自动使用 64 位运行时 当然无法从 64 位运行时访问 32 位 DLL 我的问题是 有没有办法使用32位DLL 如果不
  • 从 iPhone 删除应用程序时如何删除所有本地通知

    假设我为 iPhone 应用程序设置了 5 个本地通知 然后用户删除了该应用程序 如果再次安装该应用程序 它会显示之前的通知 我知道以下代码会删除所有通知 UIApplication sharedApplication cancelAllL
  • NEHotspotHelper:无法在身份验证状态机的身份验证状态下发送 Web 请求

    我已经实施了NEHotspotHelper这样我就可以在后台对具有强制门户的网络执行身份验证 我需要在 身份验证 状态下执行 Web 请求 以便可以检索 Wispr 并访问 API 但是 当我尝试使用URLSession发送网络请求 请求失
  • 在数据库中找到重复的地址,阻止用户提前输入它们?

    如何在数据库中找到重复的地址 或者在填写表格时更好地阻止人们 我想是越早越好吧 有没有什么好的方法可以提取街道 邮政编码等 以便可以检测到拼写错误和简单的两次注册尝试 喜欢 Quellenstrasse 66 11 Quellenstr 6
  • 检查字符串是否与 JS 中的正则表达式匹配

    我想使用 JavaScript 我也可以使用 jQuery 来检查字符串是否与正则表达式匹配 a z0 9 5 并得到一个true or false result match 似乎检查字符串的一部分是否与正则表达式匹配 而不是整个字符串 它
  • 内容处理文件名在 IE 上不起作用

    我正在开发一个 asp net c Web 应用程序 该应用程序允许用户查看和下载 PDF 文件 当我点击一个文件时 我可以在浏览器中可用的 PDF 阅读器中查看该文件 当我保存它时 该文件应该使用我通过标题传递的名称保存 但这不是 IE7
  • 我可以将我的 Java 类注册为 OrientDB 顶点和/或边吗?

    我尝试了东方数据库对象数据库API http www orientechnologies com docs 1 7 8 orientdb wiki Object Database html 它允许使用将 Java POJO 注册到数据库en
  • ObservableCollection 不更新视图

    我刚刚开始使用 MVVM 遇到了一个障碍 希望有人可以帮助我 我正在尝试创建一个带有 2 个列表框的简单视图 第一个列表框中的选择将填充第二个列表框 我创建了一个类来存储我想要绑定的信息 MyObject 类 Observable Obje
  • 在 Shiny 中将绘图置于 FluidRow 中居中

    我有一个 FluidRow 其中一列中呈现了一个绘图 我想知道当我通过 renderPlot createplothere width 函数手动指定绘图宽度时如何使绘图居中 因此 它不会占用列的整个宽度 ui R代码 setwd C Use
  • JSF 在执行 ajax 更新时重置字段

    我在 JSF 页面上遇到问题 我在第一个账单名字字段中输入了一个名称 如果我点击复制帐单地址复选框 这会停止渲染递送地址面板并通过 ajax 隐藏它 我刚刚在第一个字段中输入的值将重置为之前的状态 JSF Page
  • 如何根据多个条件对行求和 - R? [复制]

    这个问题在这里已经有答案了 我有一个数据框 其中包含绘图 ID plotID 树种代码 species 和覆盖值 cover 您可以看到其中一张图中有多个树种记录 如果每个图中存在重复的 物种 行 如何对 覆盖 字段求和 例如 以下是一些示
  • 如何在 Dreamweaver cs5 中调试 php 代码?

    如果它不支持调试 是否有任何扩展或插件 Dreamweaver 即使支持 PHP 源代码的语法高亮显示 也并不完全被称为 PHP 开发环境 所以我不确定它是否支持 PHP 代码的调试 相反 我建议您使用另一个更面向 PHP 的 IDE 例如
  • 警告:字符串文字中转义的非标准使用

    我有查询删除双空格并将其转换为单空格 UPDATE tablename SET name trim regexp replace name s s g 它给出错误 WARNING nonstandard use of escape in a