# 文字列関数

# upper

文字列内のASCIIラテン文字を大文字に変換します。

エイリアス

ucase

SELECT upper('a')
┌─upper('a')─┐
│ A          │
└────────────┘

# lower

文字列内のASCIIラテン文字を小文字に変換します。

エイリアス

lcase

SELECT lower('A')
┌─lower('A')─┐
│ a          │
└────────────┘

# substring(s, offset, length)

インデックスoffsetのバイトから始まり、lengthバイト分の部分文字列を返します。文字のインデックスは1から始まります。

substring(s, offset, length)

エイリアス

  • substr
  • mid

SELECT substring('www.clickhouse.com', 5, 10)
┌─substring('www.clickhouse.com', 5, 10)─┐
│clickhouse                              │
└────────────────────────────────────────┘

# trim()

指定された文字を文字列の先頭または末尾から削除します。指定がない場合、関数は空白(ASCII文字32)を削除します。

trim([[LEADING|TRAILING|BOTH] trim_character FROM] input_string)

引数

  • trim_character — トリムするための指定された文字。文字列。
  • input_string — トリムするための文字列。文字列。

返される値

  • 先頭および/または末尾の指定された文字がない文字列。
  • 型: String

SELECT trim(BOTH ' ()' FROM '( Hello, world! )');
┌─replaceRegexpAll('( Hello, world! )', concat('^[', regexpQuoteMeta(' ()'), ']+|[', regexpQuoteMeta(' ()'), ']+$'), '')─┐
│ Hello, world!                                                                                                          │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

# Length

文字列のバイト数(文字やUnicodeコードポイントではなく)を返します。この関数は配列に対しても動作します。

length(s)

引数

  • s — 長さを取得するための指定された文字。文字列。

エイリアス

OCTET_LENGTH