我在尝试转换' varchar'中的列时遇到了问题。到钱#39; 显然默认架构是错误的。当我尝试为PriceRule保存字段时,这是我得到的错误:
SQL错误:不允许从数据类型varchar隐式转换为 数据类型money,' PriceRule',列 '单价&#39 ;.使用CONVERT函数运行此查询。
因此,我尝试使用convert函数转换字段数据类型。
在我的模型中:
public function beforeSave($options = array()){
$UnitPrice = $this->data["PriceRule"]["UnitPrice"];
$this->data["PriceRule"]["UnitPrice"] = 'CONVERT(money,$UnitPrice)';
}
这是它生成的SQL :
UPDATE [pricerule]
SET [pricepolicyid] = 1,
[producttypeid] = 1,
[unitprice] = 'CONVERT(money,$UnitPrice)',
[minquantity] = 1,
[maxquantity] = 4,
[modifiedby] = 1055,
[modifieddate] = '2016-08-16 11:18:11',
[active] = '1'
WHERE [pricerule].[priceruleid] = 62
此查询未运行,因为CONVERT函数是作为字符串创建的,而不是函数。
我一直在努力寻找解决方法,并在谷歌上做了无数的挖掘,似乎找不到任何有用的东西。
如果有人有办法解决这个问题,那就太棒了!即使是替代方案,任何帮助都很棒!
提前致谢!
答案 0 :(得分:0)