全部產品
Search
文件中心

MaxCompute:LOCATE

更新時間:Feb 28, 2024

str中尋找substr的位置。您可以通過start_pos指定開始尋找的位置,從1開始計數。

命令格式

bigint locate(string <substr>, string <str>[, bigint <start_pos>]) 

參數說明

  • substr:必填。STRING類型。待尋找的字串。

  • str:必填。STRING類型。待匹配的字串。

  • start_pos:可選。BIGINT類型。指定尋找的起始位置。

傳回值說明

返回為BIGINT類型。返回規則如下:

  • str中無法匹配到substr時,返回0。

  • strsubstr值為NULL時,返回NULL。

  • start_pos值為NULL時,返回0。

使用樣本

  • 樣本1:尋找字串ab在字串abchelloabc中的位置。命令樣本如下。

    --返回1。
    select locate('ab', 'abchelloabc');
  • 樣本2:尋找字串hi在字串abchelloabc中的位置。命令樣本如下。

    --返回0。
    select locate('hi', 'abc,hello,ab,c');
  • 樣本3:start_pos為NULL。命令樣本如下。

    --返回0。
    select locate('ab', 'abhelloabc', null);

相關函數

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