如何只查询有表情符号的数据(postgresql)

How to query only the data that has emojis (postgresql)

我的数据在数据库列中包含表情符号,即

message_text
-------


Hi 

我只想查询包含表情符号的数据的行。有没有在 postgres 中执行此操作的简单方法?

select data from table where data_col contains emoji

目前我使用的是简单查询

select message_text from cb_messages_v1 cmv
 where message_text IN ('','','','', '')

但我希望它更加动态,如果添加未来的情绪,它将捕获数据。

从你的例子来看,你似乎不仅对表情符号 (U+1F601 - U+1F64F)感兴趣,而且对杂项符号和象形文字感兴趣 (U+1F300 - U+1F5FF) 和 运输和地图符号 (U+1F680 - U+1F6C5)。

您可以通过

找到包含其中之一的值
WHERE textcol ~ '[\U0001F300-\U0001F6FF]'

~为正则表达式匹配运算符,pattern为Unicode字符范围