如何仅查询具有表情符号的数据(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]'
~ 是正则表达式匹配运算符,模式是一个Unicode字符范围。