postgresql - 如果列中的任何条目中甚至有一个非英语字符,我希望在另一列中具有“真”
问题描述
列中有几个条目,非英文字符的英文字符,英文字符数字/符号,数字/符号的非英文字符等。如果列中的任何条目中甚至有一个非英文字符,我想要'TRUE'在相邻的列中。
SELECT *
FROM companies
WHERE name LIKE '%[a-z]%';
此代码不起作用。
解决方案
您可以使用正则表达式来实现这一点。这是一个正则表达式,它将匹配所有ASCII可打印字符以及制表符 ( \t
)、换行符/换行符 ( \n
) 和回车符 ( \r
)。
SELECT
*,
name ~ '[^\t\n\r\x20-\x7E]' AS has_bad_chars
FROM companies
现在这将匹配任何不是 AZ, az, 0-9, ,
.
, ;
, :
, "
, '
,的字符/
。
推荐阅读
- php - 创建安装了 composer 2.0 的新 docker 容器
- azure-devops - 从 azure devop 经典部署管道获取拉取请求 ID
- vue.js - 如何在 VueJs 3 中使用“POST”处理回调 URL
- drake - pyDrake 导入错误:无法导入名称“DrakeVisualizer”、ClippingRange、DepthRange 等
- liferay - Liferay 6.2 启动失败,出现 500 错误
- google-apps-script - Apps 脚本 - 将 E 列复制到另一个工作表的 K 列,但将常量值添加到其他列(B 列和 D 列)
- javascript - 如何让动画在后台运行?html/css
- python - 错误的“符号”币安 API
- c# - 合并 2 条闭合线
- python - 在Python中将值列表传递到字典中