替换第一次出现的'。'在sql String中

时间:2016-11-21 09:32:35

标签: sql sql-server tsql

假设我们将table Column内的String内的 Select ValuesT from TableT; ValuesT -9.827.08 -9.657.40 -80.000.00 -8.700.00 -8.542.43 -8.403.00 保存为-9.827.08

-9827.08

怎么可能只替换第一次出现的'。' (点)来自字符串?

例如:stuff应为-80.000.00

我尝试使用 select stuff( ValuesT ,3,1,'') from TableT 功能,但这不适用于{{1}}

{{1}}

2 个答案:

答案 0 :(得分:12)

使用STUFF功能

使用.查找CHARINDEX的第一次出现,并使用STUFF

将其删除
SELECT STUFF(valuesT, CHARINDEX('.', valuesT), 1, '')
FROM TableT

答案 1 :(得分:1)

另一种方式。

WITH sampleData AS
( 
  SELECT val FROM (VALUES 
  ('-9.827.08'), ('-9.657.40'), ('-80.000.00'), ('-8.700.00'),
  ('-8.542.43'),('-8.403.00')) x(val)
)
SELECT SUBSTRING(val, 1, d1.d-1)+SUBSTRING(val, d1.d+1, 100)
FROM sampleData
CROSS APPLY (VALUES (CHARINDEX('.',val))) d1(d);

它的代码更多,但同样有效。你可以用这种技术做更多的事情。