Did you know that you can use custom CLR types in Microsoft SQL Server by adding [Serializable, Microsoft.SqlServer.Server.SqlUserDefinedType] attribute? And, yes, you can implement and use methods – see Microsoft.SqlServer.Server.SqlMethod attribute…
Here are some good links for more information:
http://msdn2.microsoft.com/en-US/library/ms131106.aspx
http://msdn2.microsoft.com/en-US/library/ms131079.aspx
http://msdn2.microsoft.com/en-US/library/ms131076.aspx
http://msdn2.microsoft.com/en-US/library/ms131086.aspx
http://msdn2.microsoft.com/en-US/library/ms131080.aspx
http://msdn2.microsoft.com/en-US/library/ms131055.aspx