我正在尝试使用MySQL从数据库中获取数据,该表在印地文中有一些条目,我希望通过在Google表格中运行SQL查询来自动过滤出那些在印地语中的印地文结果。
我已经能够从数据库中将数据获取到Google表格中,但是无法获取印度语过滤数据
select property, week,
sum(Original_Stories) "Original Stories",
sum(Wire_Stories) "Wire Stories",
sum(Photo_Gallery) "Photo Gallery",
sum(Video_Gallery) "Video Gallery",
from
(select *,
case when a= "Original_Stories" then total end as "Original_Stories",
case when a= "Wire" then total end as "Wire_Stories",
case when a= "Photo" then total end as "Photo_Gallery",
case when a= "Video_Gallery" then total end as "Video_Gallery"
from
(select "Zee Hin" as property,
yearweek(date_format(date_published,"%Y-%m-%d"),6) week,
case
when ((article_type like 'live_blog') or
(article_type like '%article%' and agency_name like 'ज़ी न्यूज़ डेस्क') or
(article_type like '%article%' and agency_name like 'एक्सक्लूसिव') or
(article_type like '%article%' and agency_name like 'ज़ी मीडिया ब्यूरो') or
(article_type like '%article%' and agency_name like 'Exclusive'))
then "Original_Stories"
when (article_type like '%gallery%') then "Photo"
when (article_type like '%video%') then "Video_Gallery"
else 'Wire'
end as a,
count(distinct article_id) total,
count(distinct date_format(date_published, "%Y-%m-%d")) days
from
zeenews_hindi
where date_format(date_published, "%Y-%m-%d") >= '2018-12-30'
group by 2,3
) temp
) agg
group by 1,2
我需要印地语过滤器的数据
答案 0 :(得分:1)
查看此内容:How can I find non-ASCII characters in MySQL?
使用MySQL,您可以通过这种查询来检测非罗马字符。
SELECT whatever
FROM tableName
WHERE columnToCheck <> CONVERT(columnToCheck USING latin1)
这可以通过将您的列与其在latin1(aka iso8859-1)中呈现的值进行比较来进行工作,该字符集适用于西欧和美国。
例如,此查询
SELECT 'Some Hindi: ज़ी मीडिया ब्यूरो', CONVERT ('Some Hindi: ज़ी मीडिया ब्यूरो' USING LATIN1);
产生这些结果
Some Hindi: ज़ी मीडिया ब्यूरो Some Hindi: ??? ?????? ???????
?
字符是替换字符。
答案 1 :(得分:0)
MySQL 8支持
agency_name regexp '\\p{script=Devanagari}'
此处\ p引入了满足字符属性过滤器的一类字符。在这种情况下,使用Unicode脚本“ Devanagari”。如果这还不能涵盖您要为北印度语找到的所有字符,则可以添加其他Unicode脚本,块或范围。 (检测文本中的语言miami是另一种动物,n'est-ce pas吗?)
答案 2 :(得分:0)
SELECT ... WHERE HEX(col) REGEXP '(..)*E0A[45]'
将获取其中col
包含一些梵文字符(可能还有其他字符)的行。
UTF-8十六进制,大多数E0A4xx带有字母; E0A5xx具有“标志”。