1

我尝试在 Sybase 中关注

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

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

Incorrect syntax near the keyword 'REPLACE'.

可能的原因是什么

谢谢

4

5 回答 5

3

在 Sybase ASE 上有str_replace funciotn

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 
于 2013-08-01T06:35:17.780 回答
1

Sybase ASE 使用 str_replace() 而不是 replace()

于 2013-08-01T03:40:24.280 回答
0

假设只有一个小数点,你可以这样做:

   stuff(convert(varchar(255), chrgamt),
         charindex('.', ChrgAmt),
         1, NULL)
于 2013-08-01T02:56:17.577 回答
0

您查询的问题是 varchar(255),删除 255 然后应该没问题

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

最好的我会推荐 nvarchar 而不是 varchar ,欢呼

于 2013-08-01T03:17:43.570 回答
0

这适用于“Ase”

select
  ChrgAmt
  , str_replace(convert(varchar(255),ChrgAmt), '.', null) as Result
from
  PaymentSummary
于 2013-08-28T22:00:44.267 回答