全部產品
Search
文件中心

MaxCompute:SUBSTRING

更新時間:Feb 28, 2024

返回字串strstart_position開始,長度為length的子串。

命令格式

string substring(string|binary <str>, int <start_position>[, int <length>])

參數說明

  • str:必填。STRING或BINARY類型。

  • start_position:必填。INT類型,起始位置為1。當start_position為0時,返回空串。當start_position為負數時,表示開始位置是從字串的結尾往前倒數,最後一個字元是-1,依次往前倒數。

  • length:可選。BIGINT類型,表示子串的長度值。值必須大於0。

傳回值說明

返回STRING類型。返回規則如下:

  • str為非STRING、BINARY或不支援隱式轉換為STRING、BINARY的類型時,返回報錯。

  • length非BIGINT類型或值小於等於0時,返回報錯。

  • length被省略時,返回到str結尾的子串。

  • strstart_positionlength值為NULL時,返回NULL。

使用樣本

  • 樣本1:返回字串abc從指定位置開始,指定長度的子串。命令樣本如下。

    --返回bc。
    select substring('abc', 2);
    --返回b。
    select substring('abc', 2, 1);
    --返回bc。
    select substring('abc',-2,2);
    --返回ab。
    select substring('abc',-3,2);
    --返回001。
    select substring(bin(2345), 2, 3);
  • 樣本2:任一輸入參數為NULL。命令樣本如下。

    --返回NULL。
    select substring('abc', null, null);

相關函數

SUBSTRING函數屬於字串函數,更多尋找字串、轉換字串格式的相關函數請參見字串函數