ورود

View Full Version : مشکل در سلکت فیلدهای اعشاری



Delphi7_love
یک شنبه 12 بهمن 1393, 19:45 عصر
با سلام خدمت دوستان
من یه فیلدی از نوع numeric(19,3) دارم که ممکنه قسمت اعشاری آن صفر یا بزرگتر از صفر باشه
حالا من میخوام وقتی دارم جدول رو سلکت میکنم سطرهایی که قسمت اعشاری اونها صفره ، بدون قسمت اعشار بیاد و اونایی که قسمت اعشار دارن با قسمت اعشار بیان
از کد زیر استفاده کردم ولی درست جواب نمیده

DECLARE @r NUMERIC(20,5), @DecimalNumber NUMERIC(19,3),@g1 NUMERIC(19,0), @g2 NVARCHAR(25)
SET @DecimalNumber='12348.148'

SET @g1=
CASE

WHEN
@DecimalNumber-FLOOR(@DecimalNumber)>0
THEN
@DecimalNumber
ELSE
SUBSTRING( CONVERT(NVARCHAR(24),@DecimalNumber), 1, PATINDEX('%.%',CONVERT(NVARCHAR(24),@DecimalNumber ))-1)
END


SELECT @g1

m.fazlali
سه شنبه 14 بهمن 1393, 10:40 صبح
DECLARE @DecimalNumber NUMERIC(19,3),@g1 varchar(100)
SET @DecimalNumber=12348.148

SET @g1=
CASE
WHEN
floor(@DecimalNumber)<>CEILING(@DecimalNumber)
THEN
cast(@DecimalNumber as varchar(100))
ELSE
cast(cast(@DecimalNumber as numeric(19,0)) as varchar(100))
END

SELECT @g1