第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

SQL 轉換函數(shù)

1. 前言

慕課解釋:SQL 內(nèi)置的轉換函數(shù)主要用于對字段進行類型轉換,嘗試從一種字段類型轉換為另一種字段類型。

本小節(jié),我們將一起學習 SQL 中的轉換函數(shù)。

SQL 提供了諸多數(shù)據(jù)類型,如現(xiàn)在十分新潮的json類型,但我們沒辦法直接來聲明一個值為 json 類型,因此 SQL 提供了轉換函數(shù)來幫助我們轉換值的類型。

2. 實踐

在 SQL 中,常見的轉化函數(shù)有兩個:

函數(shù)名 作用
CAST 數(shù)據(jù)類型轉換,參數(shù)為表達式,由AS連接,如 24.0 AS int
COLALESCE 任意多個參數(shù),返回第一個非空的參數(shù)

2.1 例1 轉化數(shù)值類型

通過CAST我們可以把 float 類型轉化為 decimal 類型,如下:

SELECT CAST(123.123 AS decimal(8,1));
+-------------------------------+
| CAST(123.123 AS decimal(8,1)) |
+-------------------------------+
| 123.1                         |
+-------------------------------+

在 MySQL 中 CAST 無法將 float 類型轉換為 int 類型,它會報錯,而在 PostgreSQL 中卻可以正常工作:

SELECT CAST(123.123 AS int);
 int4
------
  123

2.2 例2 字符串轉 json

CAST還可以將符合 json 規(guī)范字符串類型轉化為 json 類型。

SELECT CAST('{"a":"b"}' AS json);
+---------------------------+
| CAST('{"a":"b"}' AS json) |
+---------------------------+
| {"a": "b"}                |
+---------------------------+

2.3 例3 第一個非空值

COLALESCE用于返回參數(shù)列表中的第一個非空數(shù)值。

SELECT COALESCE(null,1,2);
+--------------------+
| COALESCE(null,1,2) |
+--------------------+
| 1                  |
+--------------------+

參數(shù)列表中共有 null、1、2 三個參數(shù),COLALESCE 函數(shù)返回了第一個非空的參數(shù),即 1。

3. 小結

  • 絕大多數(shù)情況下,你都不需要顯示的通過 CAST 來進行類型轉換,數(shù)據(jù)庫會自動轉換類型。
  • CAST 在不同的數(shù)據(jù)庫中實現(xiàn)差異較大,遷移性比較差,盡量不要使用。