在mysql子字符串之间提取文本

wkyowqbh  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(267)

我有下面这样的文字
[:de]
模bb2是一个üKlassicher holzbauweise的海湾,所有的游艇都是这样的ä德沃兹üglichen holzverarbeitung and das anspruchsvolle design untermalt wird设计。海拔37米änge bietet sie ihnen 15摩登,克里马蒂塞尔特,格罗ß杜施卡宾/威斯康星州。美甲沙龙ßzü安杰里格特和艾德莱姆·莫比尔的演唱会。专业人员和船员都是最好的ü他是我的朋友ä我是一个很好的老师。
[:英文]
在37 x 10米的bb2的设计是为了描绘一个轻松的气氛优雅的风格。她是土耳其木制海湾最完美的例子之一,拥有专属游艇的所有便利设施。为船上的客人提供15间带淋浴和卫生间的现代化空调小屋。沙龙和甲板设计宽敞,设备齐全,让您倍感舒适。专业和经验丰富的工作人员非常熟悉确保客人感到安全和舒适,并提供全方位的优质服务。
[:]
[:en]表示英文文本,[:de]表示德文文本
想要在mysql中输出一种语言。只提取德语文本的查询是什么?

wvt8vs2t

wvt8vs2t1#

假设这是你的数据,德国人总是在英国人之前,那么:

select substring_index(substring_index(col, '[:de]', -1), '[:en]', 1)

如果不是这样,您可以测试不同的可能性:

select (case when col like '%[:de]%[%:en]%'
             then substring_index(substring_index(col, '[:de]', -1), '[:en]', 1)
             when col like '%[:de]%[%:]%'
             then substring_index(substring_index(col, '[:de]', -1), '[:]', 1)
             else substring_index(col, '[:de]', -1)
       end)

相关问题