在 DQL 中将整数转换为小数
Cast integer to decimal in DQL
我将 Doctrine 与 Postgres 数据库一起使用,并想更新整数字段 "voting"。
它是一个概率值,保存为 0 到 100 之间的整数,基于两个整数字段 "voteCountPro" 和 "voteCount"。
我必须将其中一个整数转换为十进制值。 (参见:)
这在 DQL 中不起作用并且失败并显示消息:
[Syntax Error] line 0, col 363: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got ':'
UPDATE statement s
SET s.voting = (s.voteCountPro::decimal / s.voteCount) * 100
WHERE s.id = :id
如何设置值?
安装https://github.com/oroinc/doctrine-extensions,注册CAST函数,写入:
UPDATE statement s
SET s.voting = (CAST(s.voteCountPro as decimal) / s.voteCount) * 100
WHERE s.id = :id
我将 Doctrine 与 Postgres 数据库一起使用,并想更新整数字段 "voting"。
它是一个概率值,保存为 0 到 100 之间的整数,基于两个整数字段 "voteCountPro" 和 "voteCount"。
我必须将其中一个整数转换为十进制值。 (参见:
[Syntax Error] line 0, col 363: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got ':'
UPDATE statement s
SET s.voting = (s.voteCountPro::decimal / s.voteCount) * 100
WHERE s.id = :id
如何设置值?
安装https://github.com/oroinc/doctrine-extensions,注册CAST函数,写入:
UPDATE statement s
SET s.voting = (CAST(s.voteCountPro as decimal) / s.voteCount) * 100
WHERE s.id = :id