Skip to main content

Character Conversion

The AST Builder API in GlueSQL allows you to execute ascii and chr functions for character conversion.

ascii

ascii returns the ASCII value for the specific character.

ascii<'a, T: Into<ExprNode<'a>>>(expr: T) -> ExprNode<'a>

chr

chr returns the character based on the ASCII code.

chr<'a, T: Into<ExprNode<'a>>>(expr: T) -> ExprNode<'a>

Examples

In these examples, the ASCII and CHR functions should return matching values.

use {
gluesql_core::{ast_builder::{function as f, *}}
};

values(vec![
vec![f::ascii("'\t'"), f::chr(9)],
vec![f::ascii("'\n'"), f::chr(10)],
vec![f::ascii("'\r'"), f::chr(13)],
vec![f::ascii("' '"), f::chr(32)],
vec![f::ascii("'!'"), f::chr(33)],
vec![f::ascii("'\"'"), f::chr(34)],
vec![f::ascii("'#'"), f::chr(35)],
vec![f::ascii("'$'"), f::chr(36)],
vec![f::ascii("'%'"), f::chr(37)],
vec![f::ascii("'&'"), f::chr(38)],
vec![f::ascii("''''"), f::chr(39)],
vec![f::ascii("','"), f::chr(44)],
])
.alias_as("Sub")
.select()
.project("column1 AS ascii")
.project("column2 AS char")
.execute(glue)
.await;
asciichar
9\t
10\n
13\r
32" "
33!
34"
35#
36$
37%
38&
39'
44,