我正在用oracle创建一个带有typeorm的查询。
我在选择中使用这个,因为状态可以为null。
'NVL(Details.status, "Pending") AS "PostulationDetail_status"'
我以前使用过这个,但使用了0,因为我使用的是数字。我决定用绳子测试,我很惊讶。我在控制台上看到这个错误
[Nest] 620 - 18-11-2021 12:20:29 ERROR [ExceptionsHandler] ORA-00904: "Pending": invalid identifier
QueryFailedError: ORA-00904: "Pending": invalid identifier
我不知道如何编写查询,所以它是有效的。有人有这样的经历吗?
您希望在字符串文字周围使用单引号,在标识符周围使用无引号(首选,不区分大小写选项(或双引号(区分大小写(:
NVL(Details.status, 'Pending') AS "PostulationDetail_status"
如果使用双引号:
NVL(Details.status, "Pending") AS "PostulationDetail_status"
然后您要返回DETAILS.STATUS
值(此标识符不区分大小写(,或者,如果是NULL
,则使用Pending
列的值(此标识区分大小写,并将该值别名为PostulationDetail_status
(同样区分大小写。(。