cheryl9063
asked on
TSQL Help
I have an nvarchar field that looks like this
2220
I need to make it look like this
2,220
How?
2220
I need to make it look like this
2,220
How?
Does the data going into that field need to be formatted like that or the data pulled from that field in an output query need to be formatted like that?
ASKER
I need to update the data in the table to that
SELECT CONVERT(varchar, CAST(987654321 AS money), 1)
ASKER
That does not give me 2,220
create function make_number (@value varchar(40))
returns varchar(40)
as
begin
declare @o varchar(40)
set @o = ''
while len(@value) > 3
begin
set @o = ',' + right(@value, 3) + @o
set @value = substring(@value, 1, len(@value) - 3)
end
return @value + @o
end
go
update table_name set field_name = dbo.make_number(field_name )
go
returns varchar(40)
as
begin
declare @o varchar(40)
set @o = ''
while len(@value) > 3
begin
set @o = ',' + right(@value, 3) + @o
set @value = substring(@value, 1, len(@value) - 3)
end
return @value + @o
end
go
update table_name set field_name = dbo.make_number(field_name
go
ASKER
I need another way other that creating a function.. How about where len(field)=4? Would that work
SELECT CONVERT(varchar, CAST(2220 AS money), 1)
--2,220.00
SELECT substring(CONVERT(varchar, CAST(2220 AS money), 1),0, charindex('.',CONVERT(varc har, CAST(2220 AS money), 1)))
--2,220
--2,220.00
SELECT substring(CONVERT(varchar,
--2,220
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.