2015-12-22 5 views
0

Новое на Sql server ce. моя таблица имеет значение float. Я хочу выбрать float с разделенной запятой и десятичной позицией. как этотПолучить значение Float с помощью Comma separtor

имя таблицы table1

val 
1220333 
222 
36535 

Я хочу привести как этот

val 
12,20,333.00 
222.00 
36,535.00 

как индийские рупии

Am использование Sql server ce 3.5

+2

Общие советы для форматирования данных на уровне представления. –

+0

@ данные назначения мне нужно загрузить это значение в раскрывающемся списке. так что только я попытался в запросе – Sathish

+0

Проверьте эту ссылку и надеюсь, что она вам поможет: http://stackoverflow.com/questions/12492567/how-do-i-convert-string-to-indian-money-format –

ответ

1
DECLARE @Table1 TABLE 
    (val int) 
; 

INSERT INTO @Table1 
    (val) 
VALUES 
    (1220333), 
    (222), 
    (36535) 
; 
select convert(varchar(50), CAST(val as money), -1) amount from @Table1 

select FORMAT(CAST(val AS MONEY),'N','en-in') amount from @Table1 

ИЛИ

Функция

create function to_indian_currency(@n decimal(25,5)) 
returns varchar(100) as 
BEGIN 
declare @a varchar(100) = cast(@n as varchar(100)) 
declare @dec_part varchar(100) = 
(select substring(@a, charindex('.',@a), len(@a)-charindex('.',@a)+1)) 
declare @int_part varchar(100) = (select left(@a, charindex('.',@a)-1)) 
declare @f int = cast(@int_part as bigint)%1000 
declare @q int = cast(@int_part as bigint)/1000 
declare @final varchar(100) = '' 
while @q > 0 
begin 
set @final = cast(@q%100 as varchar) + ',' + @final 
set @q = @q/100 
end 
RETURN @final + cast(@f as varchar) + @dec_part 
END 

выберите dbo.to_indian_currency (значение) от @ Table1

+0

'1,220,333.00' и OP хочет '12,20,333.00' – lad2025

+0

см. Обновленный ответ @ lad2025 – mohan111

+0

После добавления языкового стандарта все в порядке. Но я не уверен, что FORMAT доступен в [SQL Server CE] (https://technet.microsoft.com/en-us/library/ms174077%28v=sql.110%29.aspx) – lad2025

 Смежные вопросы

  • Нет связанных вопросов^_^