我在Sybase中试过了
SELECT ChrgAmt, REPLACE(convert(varchar(255),ChrgAmt), '.', '') AS Result
FROM PaymentSummary
但它在isql中给出了以下错误
Incorrect syntax near the keyword 'REPLACE'.
可能的原因是什么
由于
答案 0 :(得分:3)
在Sybase ASE上有str_replace函数
SELECT ChrgAmt, str_replace(convert(varchar(255),ChrgAmt), '.', '') AS Result
FROM PaymentSummary
您也可以使用cast代替convert
,如下所示
SELECT ChrgAmt, str_replace(cast(ChrgAmt as varchar(255)), '.', '') AS Result
FROM PaymentSummary
答案 1 :(得分:1)
Sybase ASE使用str_replace()而不是replace()
答案 2 :(得分:0)
假设只有一个小数点,你可以这样做:
stuff(convert(varchar(255), chrgamt),
charindex('.', ChrgAmt),
1, NULL)
答案 3 :(得分:0)
您的查询问题是varchar(255),删除255则应该没问题
SELECT ChrgAmt, REPLACE(convert(varchar,ChrgAmt), '.', '') AS Result
FROM PaymentSummary
最好的一个我会推荐nvarchar而不是varchar,欢呼
答案 4 :(得分:0)
这适用于“Ase”:
select
ChrgAmt
, str_replace(convert(varchar(255),ChrgAmt), '.', null) as Result
from
PaymentSummary