欢迎!

在 PostgreSQL 中使用函数处理数据

Brian Piccolo

Sr. Director, Digital Strategy

Sakila 数据库

  • 高度规范化
  • 具有代表性的数据类型
  • 自定义函数
在 PostgreSQL 中使用函数处理数据

主题

  • PostgreSQL 常用数据类型
  • 日期与时间函数与运算符
  • 解析与处理文本
  • 全文检索与 PostgreSQL 扩展
在 PostgreSQL 中使用函数处理数据

常见数据类型

  • 文本数据类型
    • CHARVARCHARTEXT
  • 数值数据类型
    • INTDECIMAL
  • 日期/时间数据类型
    • DATETIMETIMESTAMPINTERVAL
  • 数组
在 PostgreSQL 中使用函数处理数据

文本数据类型

SELECT title 
FROM film
LIMIT 5
+-------------------+
| title             |
|-------------------|
| ACADEMY DINOSAUR  |
| ACE GOLDFINGER    |
| ADAPTATION HOLES  |
| AFFAIR PREJUDICE  |
| AFRICAN EGG       |
+-------------------+
SELECT description 
FROM film
LIMIT 2
+-----------------------------------------+
| description                             |
|-----------------------------------------|
| A Epic Drama of a Feminist And a Mad    |     
|  Scientist who must Battle a Teacher in |
|  The Canadian Rockies.                  |
| A Astounding Epistle of a Database      |
|  Administrator And a Explorer who       |
|  must Find a Car in Ancient China       |
+-----------------------------------------+
在 PostgreSQL 中使用函数处理数据

数值数据类型

SELECT 
    payment_id 
FROM payment 
LIMIT 5
+-------------+
| payment_id  |
|-------------|
| 1           |
| 2           |
| 3           |
| 4           |
| 5           |
+-------------+
SELECT 
    amount
FROM payment 
LIMIT 5
+--------+
| amount |
|--------|
| 2.99   |
| 0.99   |
| 5.99   |
| 0.99   |
| 9.99   |
+--------+
在 PostgreSQL 中使用函数处理数据

从现有表确定数据类型

SELECT 
    title, 
    description, 
    special_features 
FROM FILM 
LIMIT 5
+---------------+------------------+------------------------------+
| title         |  description     | special_features             |
|---------------|------------------|------------------------------|
| ACADEMY D...  | A Epic...        | {Deleted Scenes,Behi...}     |
| ACE GOLD...   | A Astound..      | {Trailers,Deleted Scenes}    |
| AFFAIR PR...  | A Fanciful,..    | {Commentaries,Behind the...} |
+---------------+------------------+------------------------------+
在 PostgreSQL 中使用函数处理数据

从现有表确定数据类型

SELECT
    column_name, 
    data_type
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE column_name in ('title','description','special_features')
  AND table_name ='film';
+------------------+-------------------+
| column_name      | data_type         |
|------------------+-------------------|
| title            | character varying |
| description      | text              |
| special_features | ARRAY             |
+------------------+-------------------+
在 PostgreSQL 中使用函数处理数据

Vamos praticar!

在 PostgreSQL 中使用函数处理数据

Preparing Video For Download...