--- title: "QQ - How do I cast between different data types?" slug: "qq-how-do-i-cast-between-different-data-types" updated: 2023-04-25T13:36:36Z published: 2023-04-25T13:36:36Z canonical: "docs.datajet.app/qq-how-do-i-cast-between-different-data-types" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.datajet.app/llms.txt > Use this file to discover all available pages before exploring further. # QQ - How do I cast between different data types? **Article In Progress...** In general data should be loaded into a system so that field-data types are well matched, but this is not always possible. The following functional areas may require field-data types to be changed: - **Joins** - there are limitations around which kind of continuous fields can be joined together - generally field-data types need to match exactly when linking continuous data-types. - **Profiles** - continuous fields cannot be profiled - **Context Panel** - quick counts are not displayed for continuous fields - **Functions** - some functions only accept a particular field-data type The following functional areas support casting of data types: - **String Functions**:  LCAST, DCAST, ICAST, WILDICAST, WILDDCAST, CTOD, CONCAT - **LMath:** A  (Convert Double to Int) - **DMath:** A (Convert Int to Double) - **Expression Builder**: Explicitly set Target Datatype ### String | From | To | Details | | --- | --- | --- | | STRING DISCRETE | STRING DISCRETE | - STRING\| CONCAT(A) | | STRING DISCRETE | STRING CONTINUOUS | - STRING \| ICAST (check "Do Not Ordinalize") | | STRING DISCRETE | INTEGER DISCRETE | - STRING \| ICAST | | STRING DISCRETE | INTEGER CONTINUOUS | 1. STRING \| CONCAT (A) (check "Do Not Ordinalize") 2. STRING \| ICAST | | STRING DISCRETE | DOUBLE DISCRETE | - STRING \| DCAST | | STRING DISCRETE | DOUBLE CONTINUOUS | 1. STRING \| CONCAT (A) (check "Do Not Ordinalize") 2. STRING \| DCAST | | STRING DISCRETE | DATE | - STRING \| DATEFROMSTRING(A,B) | | STRING DISCRETE | DATETIME | | | STRING DISCRETE | LONGINTEGER DISCRETE | - STRING \| LCAST | | STRING DISCRETE | LONGINTEGER CONTINUOUS | 1. STRING \| CONCAT (A) (check "Do Not Ordinalize") 2. STRING \| LCAST | | STRING CONTINUOUS | STRING DISCRETE | May not be possible, depending on cardinality of the source field. To find the number of discrete values, use Field Audit or Data Audit - Use: - STRING\| CONCAT(A) or - STRING \| CTOD - If number of discrete values is too high to be stored in a discrete field, the threshold can be modified by changing MAX_ENTRIES in the JSON method (note - this can only be done in Script Editor and will impact system performance as the UI will attempt to display all discrete values) - Consider applying a filter to reduce the number of discrete values | | STRING CONTINUOUS | STRING CONTINUOUS | - STRING\| CONCAT(A) to create a copy of the field | | STRING CONTINUOUS | INTEGER DISCRETE | - STRING \| ICAST - it may be necessary to apply a filter to force the field to be discrete | | STRING CONTINUOUS | INTEGER CONTINUOUS | - STRING \| ICAST | | STRING CONTINUOUS | DOUBLE DISCRETE | - STRING \| DCAST - it may be necessary to apply a filter to force the field to be discrete | | STRING CONTINUOUS | DOUBLE CONTINUOUS | - STRING \| DCAST | | STRING CONTINUOUS | LONGINTEGER DISCRETE | 1. STRING \| CTOD (use MAX_ENTRIES to set a higher discrete threshold if necessary, or apply a filter to reduce the number of discrete values) 2. STRING \| LCAST | | STRING CONTINUOUS | LONGINTEGER CONTINUOUS | - STRING \| LCAST | | STRING CONTINUOUS | DATE | - STRING \| DATEFROMSTRING(A,B) | | STRING CONTINUOUS | DATETIME | | ### Integer | From | To | Details | | --- | --- | --- | | INTEGER DISCRETE | INTEGER CONTINUOUS | 1. STRING \| CONCAT (A) (check "Do Not Ordinalize") 2. STRING \| ICAST | | INTEGER DISCRETE | STRING DISCRETE | - STRING\| CONCAT(A) to create a copy of the field | | INTEGER DISCRETE | STRING CONTINUOUS | - STRING \| CONCAT (A) (check "Do Not Ordinalize") | | INTEGER DISCRETE | DOUBLE DISCRETE | - STRING \| DCAST | | INTEGER DISCRETE | DOUBLE CONTINUOUS | 1. STRING \| CONCAT (A) (check "Do Not Ordinalize") 2. STRING \| DCAST | | INTEGER DISCRETE | LONGINTEGER DISCRETE | | | INTEGER DISCRETE | LONGINTEGER CONTINUOUS | | | INTEGER DISCRETE | DATE / DATETIME | NA | | INTEGER CONTINUOUS | INTEGER DISCRETE | | | INTEGER CONTINUOUS | STRING DISCRETE | | | INTEGER CONTINUOUS | STRING CONTINUOUS | | | INTEGER CONTINUOUS | DOUBLE DISCRETE | | | INTEGER CONTINUOUS | DOUBLE CONTINUOUS | | | INTEGER CONTINUOUS | DATE / DATETIME | NA | ### LongInteger | From | To | Details | | --- | --- | --- | | LONGINTEGER DISCRETE | INTEGER CONTINUOUS | 1. STRING \| CONCAT (A) (check "Do Not Ordinalize") 2. STRING \| ICAST | | LONGINTEGER DISCRETE | STRING DISCRETE | - STRING\| CONCAT(A) to create a copy of the field | | LONGINTEGER DISCRETE | STRING CONTINUOUS | - STRING \| CONCAT (A) (check "Do Not Ordinalize") | | LONGINTEGER DISCRETE | DOUBLE DISCRETE | - STRING \| DCAST | | LONGINTEGER DISCRETE | DOUBLE CONTINUOUS | 1. STRING \| CONCAT (A) (check "Do Not Ordinalize") 2. STRING \| DCAST | | LONGINTEGER DISCRETE | INTEGER DISCRETE | | | LONGINTEGER DISCRETE | INTEGER CONTINUOUS | | | LONGINTEGER DISCRETE | DATE / DATETIME | NA | | LONGINTEGER CONTINUOUS | INTEGER DISCRETE | | | LONGINTEGER CONTINUOUS | INTEGER CONTINUOUS | | | LONGINTEGER CONTINUOUS | STRING DISCRETE | | | LONGINTEGER CONTINUOUS | STRING CONTINUOUS | | | LONGINTEGER CONTINUOUS | DOUBLE DISCRETE | | | LONGINTEGER CONTINUOUS | DOUBLE CONTINUOUS | | | LONGINTEGER CONTINUOUS | DATE / DATETIME | NA | ### Double | From | To | Details | | --- | --- | --- | | DOUBLE DISCRETE | DOUBLE CONTINUOUS | | | DOUBLE DISCRETE | STRING DISCRETE | | | DOUBLE DISCRETE | STRING CONTINUOUS | | | DOUBLE DISCRETE | INTEGER DISCRETE | | | DOUBLE DISCRETE | INTEGER CONTINUOUS | | | DOUBLE DISCRETE | LONGINTEGER DISCRETE | | | DOUBLE DISCRETE | LONGINTEGER CONTINUOUS | | | DOUBLE DISCRETE | DATE | | | DOUBLE DISCRETE | DATETIME | | | DOUBLE CONTINUOUS | DOUBLE DISCRETE | | | DOUBLE CONTINUOUS | STRING DISCRETE | | | DOUBLE CONTINUOUS | STRING CONTINUOUS | | | DOUBLE CONTINUOUS | INTEGER DISCRETE | | | DOUBLE CONTINUOUS | INTEGER CONTINUOUS | - LMATH \| A | | DOUBLE CONTINUOUS | LONGINTEGER DISCRETE | | | DOUBLE CONTINUOUS | LONGINTEGER CONTINUOUS | | | DOUBLE CONTINUOUS | DATE | | | DOUBLE CONTINUOUS | DATETIME | | ### Date and Datetime | From | To | Details | | --- | --- | --- | | DATE | DATETIME | | | DATETIME | DATE | | | DATE | STRING DISCRETE | | | DATE | STRING CONTINUOUS | | | DATETIME | STRING DISCRETE | | | DATETIME | STRING CONTINUOUS | | | STRING DISCRETE | DATE | | | STRING CONTINUOUS | DATE | | | STRING DISCRETE | DATETIME | | | STRING CONTINUOUS | DATETIME | |