use*_*045 13 sql t-sql sql-server
我有以下代码:
SELECT cast(Listenpreis*1.19 as decimal(29,2)) as Listenpreis
FROM [SL_M03KNE].[dbo].[ARKALK]
Run Code Online (Sandbox Code Playgroud)
我得到这个值:5.59
我尝试将点替换为komma,因此我得到了值:5,59
我试试代码:
SELECT replace((cast(Listenpreis*1.19 as decimal(29,2)) as Listenpreis),'.','))
FROM [SL_M03KNE].[dbo].[ARKALK]
Run Code Online (Sandbox Code Playgroud)
但是语法出了点问题.有任何想法吗?
我发现:如果我做了
select Artikelnummer,Listenpreis*1.19 as money from [SL_M03KNE].[dbo].[ARKALK]
Run Code Online (Sandbox Code Playgroud)
我得到: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
Run Code Online (Sandbox Code Playgroud)
bcp执行从komma到dot的转换.我该如何解决这个问题?
Nen*_*vic 17
你的as Listenpreis别名是在错误的地方.它需要是最后一件事.也是 '.','部分.
SELECT REPLACE(CAST(Listenpreis*1.19 AS DECIMAL(29,2)) ,'.',',') AS Listenpreis
FROM [SL_M03KNE].[dbo].[ARKALK]
Run Code Online (Sandbox Code Playgroud)
您缺少逗号和撇号(您有'.','并且需要'.',','),请尝试:
SELECT
REPLACE(CAST(Listenpreis*1.19 as decimal(29,2)), '.', ',') as Listenpreis
FROM [SL_M03KNE].[dbo].[ARKALK]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37812 次 |
| 最近记录: |