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

2023-05-19
Presto | 概述
Presto 是一个分布式 SQL 查询引擎,专为查询大数据而设计。它可以在一个或多个异构的数据源上查询大数据集。 别误解,Presto 不是数据库尽管 Presto 被许多社区成员称为数据库,但我们必须明确 Presto 的定位。 Presto 理解 SQL,但并不提供标准数据库的全部功能。 Presto 不是通用的关系型数据库,也不是 MySQL、PostgreSQL 或 Oracle 等数据库的替代品。 Presto 的设计目的也不是在线事务处理(OLTP)。这一点也适用于许多其他为数据仓库或分析优化的数据库。 简而言之,Presto 的重点在于使用大数据环境提供快速的交互式数据分析和报告。如果你需要事务支持、持久化存储或 OLTP 工作负载的支持,Presto 可能不满足你的需求。 Presto 角色Presto 提供一种分布式查询方式来高效查询和分析大数据。它专注于低延迟的交互式分析查询而非事务处理。 Presto 是一款利用分布式查询高效查询大数据的工具。如果你处理 TB 级或 PB 级的数据,您很可能使用与 Hadoop 和 HDFS 交互的工具。Presto ...

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-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...
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-11
Presto | 条件表达式
CASE标准 SQL 的 CASE 表达式有两种形式。 “简单” CASE 表达式的语法如下: 12345CASE expression WHEN value THEN result [ WHEN ... ] [ ELSE result ]END 它会从左到右逐个检查每个值表达式 value,直到找到与条件表达式 expression 相等的表达式为止。然后返回相应的 result 表达式。如果未找到匹配的表达式,则返回 ELSE 子句中的 result 表达式(如果有的话),否则返回 null。 例如: 123456SELECT a, CASE a WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'many' END “搜索”形式的 CASE 表达式允许使用任意布尔条件判断结果表达式。其语法如下: 12345CASE WHEN condition THEN result [...
2023-09-07
Presto关键字EXCEPT详解
EXCEPT 是 Presto 中一个关键字,用于执行两个查询的差集操作。它在 Presto 中起到了非常重要的作用,可以帮助我们更方便地处理和分析数据。 EXCEPT基本用法在 Presto 中,使用 EXCEPT 关键字进行两个查询之间的差集操作时,需要注意以下几点: 查询的结果集必须具有相同的列数和相似的数据类型。 查询的结果集中的列名称必须相同或具有相似的别名。 EXCEPT 关键字只返回第一个查询的结果集中存在,但在第二个查询的结果集中不存在的行。 结果集中的行将按照第一个查询的顺序进行排列。 使用示例下面是一个最简单的 EXCEPT 子句示例。第一个查询结果集为 13 和 42,第二个查询结果集为 13。因为 13 也在第二个查询的结果集中,因此它不会被包含在最终结果集中: 123SELECT * FROM (VALUES 13, 42)EXCEPTSELECT 13; 输出结果为: 1234 _col0------- 42(1 row) 接下来,我们再来看一个实际的例子来说明 EXCEPT 的用法。假设我们有两个表,一个是 employees,包含员工的姓...


