You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中嵌套引号使用及PostgreSQL大小写表名查询报错解决

问题解决:PostgreSQL表名大小写匹配的正确写法

你的错误根源是PostgreSQL的标识符规则:

  • 单引号'用于包裹字符串常量,不能用来定义表名、列名这类标识符
  • 要区分大小写的标识符必须用**双引号"**包裹

在C#中正确编写包含双引号的SQL语句有两种方式:

方式1:转义双引号

在常规字符串中,用反斜杠\转义双引号:

NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM \"Users\";", conn);

方式2:使用逐字字符串

用@前缀定义逐字字符串,此时双引号需要用两个连续双引号表示:

NpgsqlCommand cmd = new NpgsqlCommand(@"SELECT * FROM ""Users"";", conn);

额外说明

如果你的表是创建时未加双引号(即CREATE TABLE Users (...)),PostgreSQL会自动将表名转为小写,此时直接写SELECT * FROM users;也能正常查询,无需额外引号。

内容的提问来源于stack exchange,提问作者Kilian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 15:32:14