Sql 如何在Clickhouse中匹配汉字

Sql 如何在Clickhouse中匹配汉字,sql,database,data-warehouse,clickhouse,Sql,Database,Data Warehouse,Clickhouse,我尝试使用SQL从字符串中提取汉字 我使用: 选择提取全部('dkfdfjsd1234中文字符串', '[a-zA-Z]') 它可以成功返回: ['d','k','f','d','f','j','s','d'] 现在我想这样提取中文,我试着: 选择提取全部('dkfdfjsd1234中文字符串', '[\u4e00-\u9fa5]') 它返回错误 Code: 427, e.displayText() = DB::Exception: OptimizedRegularExpression:

我尝试使用SQL从字符串中提取汉字

我使用:

选择提取全部('dkfdfjsd1234中文字符串', '[a-zA-Z]')
它可以成功返回:

['d','k','f','d','f','j','s','d']
现在我想这样提取中文,我试着:

选择提取全部('dkfdfjsd1234中文字符串', '[\u4e00-\u9fa5]')
它返回错误

Code: 427, e.displayText() = DB::Exception: OptimizedRegularExpression: cannot compile re2: [\u4e00-\u9fa5], error: invalid escape sequence: \u. Look at https://github.com/google/re2/wiki/Syntax for reference. Please note that if you specify regex as an SQL string literal, the slashes have to be additionally escaped. For example, to match an opening brace, write '\(' -- the first slash is for SQL and the second one is for regex (version 20.8.14.4 (official build))

要匹配Unicode点,请使用:

选择提取全部('dkfdfjsd1234中文字符串', '[\\x{4e00}-\\x{9fa5}]')作为结果
/*
┌─结果─────────────────────┐
│ ['中','文','字','符','串'] │
└────────────────────────────┘
*/

要匹配Unicode点,请使用:

选择提取全部('dkfdfjsd1234中文字符串', '[\\x{4e00}-\\x{9fa5}]')作为结果
/*
┌─结果─────────────────────┐
│ ['中','文','字','符','串'] │
└────────────────────────────┘
*/