FreeSql icon indicating copy to clipboard operation
FreeSql copied to clipboard

pg数据库使用insertorupdate的mergeinto语法异常

Open AN-535 opened this issue 3 months ago • 2 comments

数据库定义的字段类型为date,c#定义为DateTime,生成的sql为: MERGE INTO "info" t1 USING ( SELECT 'a0f77f87-67fa-4d56-bd4c-8e8cbad9ddf6' AS "id", '2025-10-07 00:00:00.000000' AS "birth_day") t2 ON (t1."id" = t2."id") WHEN MATCHED THEN UPDATE SET "birth_day" = t2."birth_day" WHEN NOT MATCHED THEN INSERT ("id", "birth_day") VALUES ( t2."id", t2."birth_day"); 执行会报错: 错误: 字段 "birth_day" 的类型为 date, 但表达式的类型为 text "birth_day" = t2."birth_day", ^ HINT: 你需要重写或转换表达式

AN-535 avatar Oct 06 '25 17:10 AN-535

什么版本?

2881099 avatar Oct 07 '25 10:10 2881099

什么版本?

pg是16,freesql是最新版,基于.net 6 的

AN-535 avatar Oct 07 '25 13:10 AN-535