mysql - sql脚本从脚本中获取英文文本
问题描述
我有一个包含英文和中文文本的专栏。
例:山上有眼睛。隔山有眼
预期结果:山上有眼睛。
请问如何使用sql从该字符串中提取英文文本。
感谢帮助。
解决方案
一种快速而简单的方法只是将字符串转换为 ASCII 并删除'?'
-- 这是其他字符的表示:
select replace(convert(t.str using ascii), '?', '')
from t;
唯一的缺点是您也会丢失'?'
原始字符串中的字符。
这是一个 db<>fiddle。
要更好地控制替换,您可以使用regexp_replace()
:
select regexp_replace(t.str, '[^a-zA-Z0-9.?, ]', '')
from t;
不幸的是,我不知道纯 ASCII 字符的字符类。
推荐阅读
- makefile - 如何实现依赖于 GNU Make 中类似命名文件的隐式规则?
- r - 在 Oracle 服务器上使用具有 IP 地址且没有 DSN 的新 odbc 包
- php - 从数据透视表 Laravel 访问表的所有信息
- sass - 如何使用父选择器作为 Sass 的后缀
- windows - 从服务执行 msg
- tensorflow - 在 TensorFlow 对象检测 API 中检测纪元结束
- javascript - 检查值是否包含在 firebase
- php - 具有多个选项的laravel下拉ajax
- swift - 故事板未链接到 ViewController.swift Xcode 中的@IBAction/Outlet
- python-3.x - Python:无法从父文件夹中的包导入(“尝试相对导入超出顶级包”)