PDA

View Full Version : Digit Grouping- گروه بندی اعداد


بهنام بهمنی
شنبه 03 اردیبهشت 1384, 05:22 بعد از ظهر
آیا کسی تابعی برای SQl دارد که یک عدد را از ورودی گرفته و آن عدد را سه رقم ، سه رقم جدا کرده و به خروجی بفرستد .

بطور مثال در ستون Amount اعداد ذخیره شده اند ، پس از بکار بردن تابع مورد نیاز خروجی بصورت زیر بدهد :

Select GroupDigit(Amount) From tblTest

Result------------------------------------
123,000
1,234,654
....
...
.

پیشاپیش از کمک شما متشکرم

.

vadood
شنبه 03 اردیبهشت 1384, 08:44 بعد از ظهر
چرا می خواهید عدد را فرمت شده از دیتابیس بگیرید؟ بهتر نیست هنگام نماش mask اعمال کنید؟

بهنام بهمنی
یک شنبه 04 اردیبهشت 1384, 09:30 قبل از ظهر
چون خروجی اش را در محیط ها مختلف می خواهم نشان دهم . و لذا می خواهم از مبدا این اتفاق بیفتد .

AminSobati
یک شنبه 04 اردیبهشت 1384, 08:27 بعد از ظهر
یعنی نوشتن این تابع اینقدر سخته؟!

titbasoft
یک شنبه 04 اردیبهشت 1384, 10:27 بعد از ظهر
یعنی نوشتن این تابع اینقدر سخته؟!
گمان نمی کنم. ولی بعضی وقتها یه اتفاق هایی میافته که آدم از شوق جواب دادن میافته (البته هیچ مشکلی با این تاپیک ندارم دلم از جای دیگه ای پر بود) ولی این حرف شما خیلی به آدم انگیزه می ده. اینم 2 تا جواب:


declare @n int
set @n=1878798
declare @r varchar(30)
set @r=''
while(@n!=0)
begin
set @r = cast((@n % 1000) as varchar(3)) + '''' + @r
set @n = @n / 1000
end
print @r
declare @n int
set @n=1878798
declare @r varchar(30)
set @r=cast(@n as varchar(30))
declare @l int
set @l=len(@r)-2
while(@l>0)
begin
set @r = stuff (@r,@l,0,'''')
set @l=@l-3
end
print @r

بهنام بهمنی
شنبه 10 اردیبهشت 1384, 01:06 بعد از ظهر
از پاسخ شما متشکرم