postgresql - Postgres ECPG char[] 与 VARCHAR[]
问题描述
我们正在使用 ECPG 和主机变量连接到 postgres 数据库。我们试图了解何时使用char[]
vsVARCHAR[]
作为我们的主机绑定变量。该文档没有提供任何优点/缺点或用例。
例如:
给定列
x VARCHAR (10)
我为什么要使用
EXEC SQL BEGIN DECLARE SECTION;
char theX[10];
EXEC SQL END DECLARE SECTION;
cout << theX;
与说
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR theX[10];
EXEC SQL END DECLARE SECTION;
cout << theX.arr;
谢谢!
解决方案
您在 C 中使用哪种类型并不重要。正如文档所述,不同之处在于它VARCHAR
是一个还包含字符串长度的结构,而char
普通的以空字符结尾的 C 字符串。
如果您需要长度,VARCHAR
可能会更方便。
推荐阅读
- html - 内容宽度
- bash - 如何选择性地显示进度条,即在 bash 脚本中停止并显示错误输出?
- c# - HttpContext.Current.Session 为空 asp.net
- ios - 如何将图库中图像的字节数组显示为 xamarin.ios 中的图像?
- swift - 如何在 Swift 4 中将数据读入对象数组
- postgresql - 由于与恢复冲突而终止连接,用户持有关系锁的时间过长
- java - 无法理解此算法中用于 Java 中相机移动的数学/代码
- java - 如何动态创建数据库并实例化 JdbcTemplate?
- docker - 我如何在一个 docker 映像中运行多个 jmx 文件,并且所有结果都应该显示在一个地方
- sql-server-2008 - SQL Server 中的数据模型创建