| <table class="configuration table table-bordered"> | |
| <thead> | |
| <tr> | |
| <th class="text-left" style="width: 15%">Function</th> | |
| <th class="text-left" style="width: 85%">Description</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <tr> | |
| <td><h5>substring(column,beginInclusive)</h5></td> | |
| <td>Get column.substring(beginInclusive). Output is a STRING.</td> | |
| </tr> | |
| <tr> | |
| <td><h5>substring(column,beginInclusive,endExclusive)</h5></td> | |
| <td>Get column.substring(beginInclusive,endExclusive). Output is a STRING.</td> | |
| </tr> | |
| <tr> | |
| <td><h5>truncate(column,width)</h5></td> | |
| <td>Truncate column by width. Output type is the same with column. If the column is a STRING, truncate(column,width) will truncate the string to width characters, namely <code>value.substring(0, width)</code>. | |
| If the column is an INT or LONG, truncate(column,width) will truncate the number with the algorithm <code>v - (((v % W) + W) % W)</code>. The <code>redundant</code> compute part is to keep the result always positive. | |
| If the column is a DECIMAL, truncate(column,width) will truncate the decimal with the algorithm: let <code>scaled_W = decimal(W, scale(v))</code>, then return <code>v - (v % scaled_W)</code>.</td> | |
| </tr> | |
| <tr> | |
| <td><h5>cast(value,dataType)</h5></td> | |
| <td>Get a constant value. The output is an atomic type, such as STRING, INT, BOOLEAN, etc.</td> | |
| </tr> | |
| <tr> | |
| <td><h5>upper(value)</h5></td> | |
| <td>Convert string column to upper case. The input should be a STRING and the output is a STRING.</td> | |
| </tr> | |
| <tr> | |
| <td><h5>lower(value)</h5></td> | |
| <td>Convert string column to lower case. The input should be a STRING and the output is a STRING.</td> | |
| </tr> | |
| <tr> | |
| <td><h5>trim(value)</h5></td> | |
| <td>Trim string column. The input should be a STRING and the output is a STRING.</td> | |
| </tr> | |
| </tbody> | |
| </table> |