December 3, 2009 at 4:41 pm
I've got to ask because I am always looking for the simple solution to things....
If trailing "0"s are allowed, why bother with all that?
Why not just (based on the column definition of decimal(9,4))
select ColumnA, 10000 as Modifier, CONVERT(BIGINT, ColumnA * 10000) as Result
from @t
It's not beautiful or clever but it works and is a tiny weeny bit more efficient and easy to understand.
MM
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);
December 3, 2009 at 4:48 pm
mister.magoo (12/3/2009)
I've got to ask because I am always looking for the simple solution to things....If trailing "0"s are allowed, why bother with all that?
Why not just (based on the column definition of decimal(9,4))
select ColumnA, 10000 as Modifier, CONVERT(BIGINT, ColumnA * 10000) as Result
from @t
It's not beautiful or clever but it works and is a tiny weeny bit more efficient and easy to understand.
MM
Excellent suggestion but I'll go one better than that... why in the hell do they need values without the decimal point to begin with? 😛
--Jeff Moden
Change is inevitable... Change for the better is not.
December 3, 2009 at 6:05 pm
@jeff 😀
(I have seen that format quite often in data interface files - as it avoids the issue of different locales/regions using different decimal seperators e.g. "." and ",")
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);
December 3, 2009 at 7:08 pm
Ah... got it. Thanks. It does seem strange to waste an INT or even a SMALLINT to hold numbers like 10000 when a TINYINT to hold the "4" as an exponent of 10 would do.
--Jeff Moden
Change is inevitable... Change for the better is not.
Viewing 4 posts - 16 through 18 (of 18 total)
You must be logged in to reply to this topic. Login to reply