假设我们将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}}
答案 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);
它的代码更多,但同样有效。你可以用这种技术做更多的事情。