CONCAT
Piping ||
这两个工具都能将不同行的列组合到一起。在此视频中,你学习了如何将存储在不同列中的名字和姓氏组合到一起,形成全名:CONCAT(first_name, ' ', last_name),或者使用双竖线:first_name || ' ' || last_name。
- TO_DATE
- CAST
- 使用
::
进行转型
DATE_PART('month', TO_DATE(month, 'month')) 将月份名称改成了与该月相关的数字。
可以使用 CAST 将字符串改为日期。CAST 实际上可以用来更改各种列类型。经常,你会像视频中一样,使用 CAST(date_column AS DATE) 将字符串
改成日期
。但是,你可能还会对列的数据类型做出其他更改。你可以在此处看到其他例子。
在此示例中,除了 CAST(date_column AS DATE) 之外,你可以使用 date_column::DATE。
这里的大部分函数都特定于字符串,它们不适用于日期、整数或浮点数。但是,使用这些函数将自动将数据转换为相应的类型。
LEFT、RIGHT 和 TRIM 都仅用来选择特定的字符串元素,但是使用它们选择数字或日期元素,系统会将它们处理为字符串。虽然我们没有明确地在这节课介绍 TRIM,但是它可以用来删掉字符串开头和末尾的字符,这样就可以删掉一行开头或末尾的空格,从 Excel 或其他存储系统转移过来的数据经常就需要这么处理。
这些函数有很多变体,还有这节课没介绍的其他几个字符串函数。 不同的数据库使用的这些函数有所不同,如果你连接的是私有数据库,一定要查看相应的数据库语法。Postgres literature 中包含了大量相关的函数。
使用 COALESCE 来处理 NULL 值
COALESCE(id, '')
通常,COALESCE 返回的是每行的第一个非 NULL 值。因此如果在此示例中,行中的值是 NULL,上述解决方案使用了 no_poc。
还有其他几个函数的作用比较相似。你可以在此处详细了解这些函数。你还可以在此处查看这节课介绍的很多函数。