## Syntax ```mermaid %%{init: { 'theme': 'base', 'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' }, 'themeVariables': { 'fontSize': '11px', 'fontFamily': 'Arial' } }}%% flowchart LR Start((START)) --> SQL_VARIANT[SQL_VARIANT]:::quoted SQL_VARIANT --> End((END)) ``` ## Purpose The `SQL_VARIANT` SQL function gets a property of a value, similar to the `SQL_VARIANT_PROPERTY` function of SQL Server. The following properties are available: - `DotnetDataType`: the .NET data type of the value. - `BaseType`: the database data type of the value. - `Precision`: the precision of the value. - `Scale`: the scale of the value. - `TotalBytes`: the number of bytes of the value. - `MaxLength`: the maximum length of the value in bytes. Parameters: - Value (`ANY`): the value to get the property of. - Property (`varchar2`): the name of the property. Must be a constant. Returns: the value of the property; the data type depends on the property. ## Examples The following example retrieves the precision of an integer value: ```sql select sql_variant(5, 'Precision') ------------------- 0 ``` The following example retrieves the precision of a date/time value: ```sql select sql_variant(sysdate, 'Precision') ------------------- 23 ``` The following example retrieves the number of a bytes of `true`: ```sql select sql_variant(true, 'TotalBytes') ------------------- 1 ```