ich aus einem Datensatz führenden und nachgestellten Nullen entfernen müssen:SQL Server - entfernen führende und nachgestellte Nullen
WITH
data as (
select 0.10 ITEM
union all
select -1.00
union all
select 0.20
union all
select 2.00
union all
select 508000015.00
)
so dass das Ergebnis aussehen:
ITEM
.1
-1
.2
2
508000015
Gibt es eine bündigen oder mehr effiziente Art und Weise so
SELECT case
# if item isn't an integer, trim 0 from left and right
when item % 1 = item then REPLACE(RTRIM(LTRIM(REPLACE(item,'0',' '))),' ','0')
else cast(cast(item as int) as varchar)
end VALUE
FROM data
Was ist der Datentyp der Elemente? –
'NUMERIC (12,2)' – craig
Gibt es einen knappen Grund dafür, dass keine abschließenden Nullen benötigt werden? Sind signifikante Ziffern oder Formatierungen nicht wichtiger? Speichern bei numerisch, Integer, sogar Float scheint hier sinnvoll zu sein, es sei denn, Sie beabsichtigen, es als Text zu behalten. – BrownRedHawk