替换在Sybase中不起作用

时间:2013-07-31 23:56:14

标签: sql sybase isql

我在Sybase中试过了

SELECT ChrgAmt, REPLACE(convert(varchar(255),ChrgAmt), '.', '') AS Result
FROM PaymentSummary

但它在isql中给出了以下错误

Incorrect syntax near the keyword 'REPLACE'.

可能的原因是什么

由于

5 个答案:

答案 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