Ho to check the Precision of a decimal field

Hi there

I have a column, that is set to

decimal(18,0)

I need to check the (18,0) bit of it, and if it is (18,0) run some SQL else don't run it

so

if field

share is (18,0) do something
else
don't do anything

thanks
mousemat24Asked:
Who is Participating?
 
Louis01Commented:
To select column type and precision and scale:
select t.name as table_name, c.name as column_name, y.name as [type_name], c.precision, c.scale
  from sys.tables t
		inner join sys.columns c
	on t.[object_id] = c.[object_id]
		inner join sys.types y
	on c.system_type_id = y.system_type_id
 where t.name = 'your_table_name_here'
   and c.name = 'your_column_name_here'
--   and y.name = 'decimal'
--   and c.precision = 18
--   and c.scale = 0

Open in new window



To use in IF
IF ((select isnull(count(*), 0)
	  from sys.tables t
			inner join sys.columns c
		on t.[object_id] = c.[object_id]
			inner join sys.types y
		on c.system_type_id = y.system_type_id
	 where t.name = 'your_table_name_here'
	   and c.name = 'your_column_name_here'
	   and y.name = 'decimal'
	   and c.precision = 18
	   and c.scale = 0) = 0)
BEGIN
	Print 'Do something'
END
ELSE
BEGIN
	Print 'Do something else'
END

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.