Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在PostgreSQL中添加文本值_Sql_Postgresql_Sql Insert_String Constant - Fatal编程技术网

无法在PostgreSQL中添加文本值

无法在PostgreSQL中添加文本值,sql,postgresql,sql-insert,string-constant,Sql,Postgresql,Sql Insert,String Constant,使用“”将数据插入文本列时出错,当我删除引号后,postgres将运行并添加值为0的列 INSERT INTO tablex (dates, times, openp, high, low, closep, volume) VALUES ("03/08/2021", 2300, 1680, 1688.6, 1680, 1685.1, 12074); 列日期和时间都定义为文本列。其他列被定义为Float 使用上述代码运行查询时,出现以下错误: 错误:“03/08/2021”列

使用“”将数据插入文本列时出错,当我删除引号后,postgres将运行并添加值为0的列

INSERT INTO tablex (dates, times, openp, high, low, closep, volume)
VALUES ("03/08/2021", 2300, 1680, 1688.6, 1680, 1685.1, 12074);
列日期和时间都定义为文本列。其他列被定义为Float

使用上述代码运行查询时,出现以下错误:

错误:“03/08/2021”列不存在
第4行:(“2021年8月3日”,2300、1680、1688.6、1680、1685.1、12074)

删除引号后,列日期将填充0值

如何解决此问题?

插入到tablex中
(日期、时间、开盘价、高点、低点、收盘价、成交量)
价值观
('03/08/2021', 2300, 1680, 1688.6, 1680, 1685.1, 12074);
试试这个,看看是否有效。将双引号替换为单引号

单引号用于指示标记是字符串。这是 在PostgreSQL中的许多不同上下文中使用

尝试使用
(单引号)包围字符串值并运行查询

INSERT INTO tablex (dates, times, openp, high, low, closep, volume)
VALUES ('03/08/2021', 2300, 1680, 1688.6, 1680, 1685.1, 12074);
这应该不会出错

如果需要在字符串中包含单引号,可以通过插入两个连续的单引号(两个单引号,而不是双引号)来实现

例如,您可以通过键入以下内容插入另一个带有嵌入单引号的字符串:

INSERT INTO my_table(text) VALUES ('How''s it going?');

单引号字符串是分配或检查字符串值的合适方法。

您应该按照其他答案的建议使用单引号

如果使用双引号,字符串将被视为标识符(表或列名),因此会显示错误消息。没有任何引号,2021年8月3日被视为一个算术表达式,由于整数除法,该表达式的结果为0


决不能在
文本
列中存储日期。这使您无法在未引用的情况下获得有用的错误消息,并且会在以后导致问题和不一致。使用适当的数据类型
date

您需要将表示日期的字符串放在单引号中-
'03/08/2021'