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:

 

  1. How to create a CLR-based user defined type: 

http://msdn2.microsoft.com/en-US/library/ms131106.aspx

 

  1. Register CLR-based type: 

http://msdn2.microsoft.com/en-US/library/ms131079.aspx

 

  1. Using CLR-based types:

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