Chameleon defines two schemas:

  • chameleon
  • chm

The first schema is used for Chameleon tables and traditional T-SQL stored-procedures or user-defined functions. The second schema is used for CLR stored-procedures and user-defined functions.

chm schema is created for CLR SPROCs and UDFs invocation simplicity. Also, it makes CLR functions/procedures distinguishable from non-CLR ones.

General Parameters


In Chameleon there are some functions or procedures that have an extra @encoding parameter when the function/procedure has a string input. Encoding specifies how the string is encoded. Possible values for @encoding are as follows:

  • ascii
  • utf7
  • utf8 or utf-8
  • utf32 or utf-32
  • unicode
  • bigendianunicode
  • default
  • code page name of a custom encoding

Note 1: @encoding parameter is case-insensitive.

Note 2: If no value (empty string or NULL) is specified for @encoding parameter, default will be used.


There are functions/procedures in Chameleon that perform string comparison and have a @comparison parameter. Possible values for @comparison parameter are as follows:

  • CurrentCulture or cc
  • CurrentCultureIgnoreCase or ccic
  • InvariantCulture or ic
  • InvariantCultureIgnoreCase or icic
  • Ordinal or o
  • OrdinalIgnoreCase or oic (default)