Presto | UUID 函数
发表于|更新于|编程文摘
|浏览量:
uuid() → uuid
返回一个伪随机生成的 UUID(第四版本)。
示例
1 | select uuid(); |
(END)
文章作者: Johnson Lin
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Johnson Lin!
相关推荐

2023-05-23
Presto | 数据类型
Presto 有一套内置的数据类型,如下所述。其他类型可以由插件提供。 注意:连接器不需要支持所有类型。有关支持类型的详细信息,请参阅连接器文档。 Boolean 布尔型BOOLEAN 此类型表示布尔值 true 和 false。 Integer 整数TINYINT 存储空间为 8 位的有符号整数,可以存储的值的范围从 $-2^{(8-1)}$ 到 $2^{(8-1)}-1$,即最小值为 -128,最大值为 127。 SMALLINT 存储空间为 16 位的有符号整数,可以存储的值的范围从 $-2^{(16-1)}$ 到 $2^{(16-1)}-1$,即最小值为 -32768,最大值为 32767。 INTEGER 存储空间为 32 位的有符号整数,可以存储的值的范围从 $-2^{(32-1)}$ 到 $2^{(32-1)}-1$,即最小值为 -2147483648,最大值为2147483647。 INT 名称也可用于此类型。 BIGINT 存储空间为 64 位的有符号整数,可以存储的值的范围从 $-2^{(64-1)}$ 到 $2^{(64-1)}-1$,即最小值为 -92...

2023-05-15
Presto | 转换函数
Presto 可以隐式地将数字和字符值转换为适当的数据类型,前提是这种转换是可行的。然而,Presto 不会在字符类型和数字类型间隐式转换。例如,一个期望获得 varchar 类型结果的查询不会自动将 bigint 类型的值转换为对应的 varchar 类型。 如果有需要,值可以通过显式转换来变换为特定的数据类型。 转换函数cast(value AS type) → type 可以通过显式转换将一个值变换为特定的数据类型。这可以用于将 varchar 类型的值转换为数字类型,反之也可以。 try_cast(value AS type) → type 与 cast() 函数相似,不同之处在于如果转换失败,它会返回 null 值。 数据大小parse_presto_data_size(string) 可以将格式为 value unit 的字符串解析为一个数字,其中: value 为小数,表示 unit 值的数值部分; unit 为数据大小的单位,如B、KB、MB、GB等。 parse_presto_data_size 函数支持以下数据大小单位: 单位 描述 值 B B...

2023-05-26
Presto | JSON 与支持的数据类型之间相互转换
Presto 支持的各种数据类型的值如何转换为 JSON 格式?Presto 支持将如下基本数据类型的值转换为 JSON 格式: BOOLEAN、TINYINT、SMALLINT、INTEGER、BIGINT、REAL、DOUBLE、VARCHAR。 此外,Presto 同样支持将满足以下条件的数组(ARRAY)、映射(MAP)或行(ROW)转换为 JSON 格式: 数组的元素类型须为上述某一受支持的数据类型; 映射的键类型是 VARCHAR 且值类型须为上述某一受支持的数据类型; 行的每个字段类型均须为上述某一受支持的数据类型。 示例 例 1 NULL 将换为 JSON: 1SELECT CAST(NULL AS JSON); 1234 _col0------- NULL(1 row) 例 2 INTEGER 将换为 JSON: 1SELECT CAST(1 AS JSON); 1234 _col0------- 1(1 row) 例 3 BIGINT 将换为 JSON: 1SELECT CAST(9223372036854775807 AS JSON); 1234 ...

2023-05-09
Presto | 字符串运算符和函数
字符串运算符|| 运算符,字符串连接运算符,将运算符左右两边的字符串进行连接,作用同函数 concat(string1, ..., stringN)。 示例 1select 'Here I am, ' || 'here I am How do you do?' 输出 1Here I am, here I am How do you do? 字符串函数需要注意的是,以下这些函数假设输入的字符串所包含的都是有效的 UTF-8 编码的 Unicode 码点。函数并没有对 UTF-8 的有效性进行明确的检查。如果输入了无效的 UTF-8,这些函数可能会返回错误的结果。无效的 UTF-8 数据可以使用 from_utf8() 函数进行修正。 此外,这些函数操作的都是 Unicode 码点,而不是用户可见的字符或字母。某些语言会将多个码点组合成单个用户感知的字符,即一种语言书写系统的基本单位。但这些函数会将每个码点视为独立的单位。 lower() 和 upper() 函数无法执行立陶宛语、土耳其语和阿塞拜疆语等某些语言所需的区域敏感、上下文敏感或一对多...
2022-10-31
关于Presto的LEFT JOIN,有一个很容易被忽略的点
LEFT JOIN 在 SQL 查询中是一种很常见的数据查询操作,其查询出来的数据是以左表为主表,保留左表的记录,如果右表没有匹配的记录,依然会返回左表的记录,此时右表的字段用 NULL 填充。 但是,在 Presto 中使用 LEFT JOIN 联结表查询,并需要对左表或右表进行过滤时,有一个特别容易忽略的地方是过滤条件的位置——对左表过滤时条件应写在 where 语句后,对右表过滤时条件应写在 on 后面。 如果对左表的过滤条件写在 on 后面,那么左表的每一行记录都会被保留,相当于没有过滤左表的数据。如果对右表的过滤条件写在 where 后面,那么 LEFT JOIN 查询出来的结果就后 JOIN 查询出来的结果一样,左表没有与右表匹配的记录也会被过滤。 下面通过一个例子来说明。 有两张表——用户信息表和用户地址表,表名分别为:tmp_user 和 tmp_addr,表中的记录如下: 表 tmp_user: user_id nickname 1 jack 2 johnson 3 marry 表 tmp_addr: user_id c...

2023-05-14
Presto | 比较运算符和函数
比较运算符 运算符 描述 < 小于 > 大于 <= 小于等于 >= 大于等于 = 等于 <> 不等于 != 不等于(非标准但常用的语法) 范围运算符:BETWEENBETWEEN 运算符用于判断一个值是否在指定范围内。它使用如下语法: 1value BETWEEN min AND max 例如: 1SELECT 3 BETWEEN 2 AND 6; -- true 以上的语句等效于: 1SELECT 3 >= 2 AND 3 <= 6; -- true 要判断一个值是否不在指定范围内,则使用 NOT BETWEEN: 1SELECT 3 NOT BETWEEN 2 AND 6; -- false 上述语句与以下语句等效: 1SELECT 3 < 2 OR 3 > 6; -- false 在 BETWEEN 或 NOT BETWEEN 语句中出现 NULL 将导致语句计算结果为 NULL: 123SELECT NULL BETWEEN 2 AND 4; -- nullS...


