跳转到内容
搜索文档

字符串函数

最后更新 查看 MarkdownAgent 设置

length

用法:

length({string})

返回字符串的长度。此函数兼容 UTF-8。

示例:

SELECT length('a string') AS s;
SELECT length(blob1) AS s FROM your_dataset;

为了向后兼容,此函数相当于 ClickHouse 的 lengthUTF8 函数,而不是 ClickHouse 的 length 函数。

empty

用法:

empty({string})

返回一个布尔值,表示该字符串是否为空。此计算也可以通过二元运算来完成:{string} = ''

示例:

SELECT empty('a string') AS b;
SELECT empty(blob1) AS b FROM your_dataset;

为了向后兼容,该函数也可以使用 empty(<string>) 来调用。

lower

用法:

lower({string})

返回转换为小写的字符串。此函数不兼容 Unicode - 对此请参阅 lowerUTF8

示例:

SELECT lower('STRING TO DOWNCASE') AS s;
SELECT lower(blob1) AS s FROM your_dataset;

lowerUTF8 New

用法:

lowerUTF8({string})

返回转换为小写的字符串。此函数兼容 Unicode。对于所有语言以及有严格要求的用户,这可能不够完美,应该在自己的代码中进行该操作。

示例:

SELECT lowerUTF8('STRING TO DOWNCASE') AS s;
SELECT lowerUTF8(blob1) AS s FROM your_dataset;

为了向后兼容,该函数也可以使用 toLower({string}) 来调用。

upper

用法:

upper({string})

返回转换为大写的字符串。此函数不兼容 Unicode - 对此请参阅 upperUTF8

示例:

SELECT upper('string to uppercase') AS s;
SELECT upper(blob1) AS s FROM your_dataset;

upperUTF8 New

用法:

upperUTF8({string})

返回转换为大写的字符串。此函数兼容 Unicode。对于所有语言以及有严格要求的用户,其结果可能不够完美。这些用户应该在自己的代码中进行该操作。

示例:

SELECT upperUTF8('string to uppercase') AS s;
SELECT upperUTF8(blob1) AS s FROM your_dataset;

为了向后兼容,该函数也可以使用 toUpper({string}) 来调用。

startsWith

用法:

startsWith({string}, {string})

返回一个布尔值,表示第一个字符串是否以第二个字符串开头。

示例:

SELECT startsWith('prefix ...', 'prefix') AS b;
SELECT startsWith(blob1, 'prefix') AS b FROM your_dataset;

endsWith

用法:

endsWith({string}, {string})

返回一个布尔值,表示第一个字符串是否以第二个字符串结尾。

示例:

SELECT endsWith('prefix suffix', 'suffix') AS b;
SELECT endsWith(blob1, 'suffix') AS b FROM your_dataset;

position

用法:

position({needle:string} IN {haystack:string})

返回一个字符串 needle 在另一个字符串 haystack 中的位置。在 SQL 中,索引通常是从 1 开始的。这意味着如果您的 needle 处于 haystack 的开头,则 position 将返回 1。仅当未找到您的字符串时,它才会返回 0

示例:

SELECT position(':' IN 'hello: world') AS p;
SELECT position(':' IN blob1) AS p FROM your_dataset;

substring

用法:

substring({string}, {offset:integer}[. {length:integer}])

提取字符串的一部分,从 offset 指定的 Unicode 码点开始,并返回由 length 请求的码点数量。如前所述,在 SQL 中,索引通常是从 1 开始的。这意味着提供给 substring 的 offset 应至少为 1

示例:

SELECT substring('hello world', 6) AS s;
SELECT substring('hello: world', 1, position(':' IN 'hello: world')-1) AS s;

format

用法:

format({string}[, ...])

此函数支持格式化字符串、整数、浮点数、日期时间、时间间隔等,但 NULL 除外。此函数不支持在格式字符串中包含字面量 {} 字符。

示例:

SELECT format('blob1: {}', blob1) AS s FROM dataset;

formatDateTime 函数可能也会有用。

extract

用法:

extract(<time unit> from <datetime>)

extract 从日期时间中返回整型的特定时间单位值。它支持 YEAR(年)、MONTH(月)、DAY(日)、HOUR(小时)、MINUTE(分钟)和 SECOND(秒)。

示例:

-- 从时间戳中提取秒数(在此示例中返回 15)
extract(SECOND from toDateTime('2022-06-06 11:30:15'))

这篇文档对您有帮助吗?