I would like to have a vertical table (I know, I know... it's pretty much unavoidable) that is able to store an identifying field, the value, and the original type. Obviously the value field needs to be something generic or I won't be able to store various different types of data in it (varchar, text, int, decimal, bit, etc).
What suggestions do you have for this type of setup that would allow me to not lose precision on number data types while offering flexibility and ease of use?