自 2025 年 11 月 1 日起,Amazon Redshift 將不再支援建立新的 Python UDFs。如果您想要使用 Python UDFs,請在該日期之前建立 UDFs。現有的 Python UDFs將繼續如常運作。如需詳細資訊,請參閱部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
STRTOL 函數
將指定底數之數字的字串表達式轉換為等同的整數值。轉換的值必須在帶正負號的 64 位元範圍內。
語法
STRTOL(num_string, base)
引數
- num_string
-
要轉換之數字的字串表達式。如果 num_string 是空的 (
''),或開頭為 Null 字元 ('\0'),則轉換的值為0。如果 num_string 是含有 NULL 值的欄,STRTOL 會傳回NULL。字串的開頭可以有任何數量的空格,後面可選擇接著單一加號 '+' 或減號 '-' 來表示正或負。預設為 '+'。如果 base 是16,字串可選擇以 '0x' 開頭。 - base
-
INTEGER介於 2 和 36 之間。
傳回類型
- BIGINT
-
如果 num_string 為空,則函數傳回
NULL。
範例
若要將字串和基值對轉換為整數,請使用下列範例。
SELECT STRTOL('0xf',16);+--------+ | strtol | +--------+ | 15 | +--------+SELECT STRTOL('abcd1234',16);+------------+ | strtol | +------------+ | 2882343476 | +------------+SELECT STRTOL('1234567', 10);+---------+ | strtol | +---------+ | 1234567 | +---------+SELECT STRTOL('1234567', 8);+--------+ | strtol | +--------+ | 342391 | +--------+SELECT STRTOL('110101', 2);+--------+ | strtol | +--------+ | 53 | +--------+SELECT STRTOL('\0', 2);+--------+ | strtol | +--------+ | 0 | +--------+