SQL用逗号替换点

2021-09-10 00:00:00 sql tsql sql-server

我有以下代码:

SELECT cast(Listenpreis*1.19 as decimal(29,2)) as Listenpreis
 FROM [SL_M03KNE].[dbo].[ARKALK]

我得到这个值:5.59

I get this value: 5.59

我尝试将点替换为 komma,所以我得到了值:5,59

I try to replace the dot to a komma so i get the Value: 5,59

我试试代码:

SELECT replace((cast(Listenpreis*1.19 as decimal(29,2)) as Listenpreis),'.','))
 FROM [SL_M03KNE].[dbo].[ARKALK]

但是语法有问题.有什么想法吗?

But something is wrong with the Syntax. Any Ideas?

我发现:如果我做一个

select Artikelnummer,Listenpreis*1.19 as money from [SL_M03KNE].[dbo].[ARKALK]

我得到:5,59

如果我这样做

EXEC master..xp_cmdshell 'bcp "select Artikelnummer,Listenpreis*1.19 as money from [SL_M03KNE].[dbo].[ARKALK]" queryout "D:\shop\xml\Artikelpreise_ohne.csv" -E -c -T -x

bcp 将 komma 转换为点.我该如何解决这个问题?

the bcp do a conversion from the komma to dot. How can i fixed this?

推荐答案

您的 as Listenpreis 别名位置错误.它必须是最后一件事.还有 '.',' 部分.

Your as Listenpreis aliasing is in the wrong place. It needs to be the last thing. Also the '.',' part.

SELECT REPLACE(CAST(Listenpreis*1.19 AS DECIMAL(29,2)) ,'.',',')  AS Listenpreis
 FROM [SL_M03KNE].[dbo].[ARKALK]

SQLFiddle 演示

相关文章