我尝试在 Sybase 中关注
SELECT ChrgAmt, REPLACE(convert(varchar(255),ChrgAmt), '.', '') AS Result
FROM PaymentSummary
但它在 isql 中给出了以下错误
Incorrect syntax near the keyword 'REPLACE'.
可能的原因是什么
谢谢
在 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
Sybase ASE 使用 str_replace() 而不是 replace()
假设只有一个小数点,你可以这样做:
stuff(convert(varchar(255), chrgamt),
charindex('.', ChrgAmt),
1, NULL)
您查询的问题是 varchar(255),删除 255 然后应该没问题
SELECT ChrgAmt, REPLACE(convert(varchar,ChrgAmt), '.', '') AS Result
FROM PaymentSummary
最好的我会推荐 nvarchar 而不是 varchar ,欢呼
这适用于“Ase”:
select
ChrgAmt
, str_replace(convert(varchar(255),ChrgAmt), '.', null) as Result
from
PaymentSummary