在插入日期和时间时缺少逗号

问题描述

我有这个查询

INSERT INTO ella (id,tmstmp AS DATE,ändere)
VALUES (id 1,DATE 26.08.2020,10:44:33,ändere "Thomas");

但是它总是显示错误:缺少逗号。 我做错了什么?我还要把逗号放在哪里?

名称为Ella。列名是id,日期和ändere。 谢谢您的帮助!

解决方法

您需要将非数字值括在单引号中,并且列列表不采用数据类型。在SQL中,非ASCII字符的名称必须用双引号引起来。字符串文字需要单引号。列名称也不会在VALUES子句中重复。而且,当您要指定日期和时间时,需要使用<OnPlatform x:TypeArguments="x:String" x:Key="FontAwesomeSolid"> <On Platform="Android" Value="FontAwesome5Solid.otf#Regular" /> <On Platform="iOS" Value="FontAwesome5Free-Solid" /> <On Platform="UWP" Value="/Assets/FontAwesome5Solid.otf#Font Awesome 5 Free" /> </OnPlatform> 文字,而不是timestamp文字。

date

以上所有内容均指的是标准ANSI SQL,例如Postgres和Oracle。但是,并非所有的DBMS产品都以这种方式支持ANSI时间戳文字。但是,由于您尚未指定DBMS,因此答案符合SQL标准。

,

您的数据库可能期望在ISO8601 format之后的日期,即2020-08-26 10:44:33

此外,这些值不应重复列名,仅按键的顺序重复这些值,最后,若要对字符串加引号,则应使用单引号:

INSERT INTO ella (id,tmstmp,ändere)
VALUES (1,'2020-08-26 10:44:33','Thomas');

N.B .:日期格式可能取决于您使用的数据库the above should work with postgresql,with a timestamp field

N.B.2:最后,请注意时区,以及存储的时间戳是否位于UTC时区,否则可能会得到意外的结果。