Mysql 如何根据sql中的语言进行选择?
我有一个包含希伯来语和英语的数据库。不幸的是,创建数据库的人做得很差劲。Mysql 如何根据sql中的语言进行选择?,mysql,sql,select,rows,hebrew,Mysql,Sql,Select,Rows,Hebrew,我有一个包含希伯来语和英语的数据库。不幸的是,创建数据库的人做得很差劲。 我需要选择其中不包含任何希伯来语的行。SQL/MYSQL有办法做到这一点吗?您好,因为该列同时包含英语和希伯来语,所以数据类型必须是nvarchar 在SQLServer中,我做到了这一点 SELECT CASE WHEN CHARINDEX('?',CONVERT(VARCHAR,'2232d@❤##'))>0 THEN 'YES' ELSE 'NO' END 这将告诉您一个值是否是希伯来语
我需要选择其中不包含任何希伯来语的行。SQL/MYSQL有办法做到这一点吗?您好,因为该列同时包含英语和希伯来语,所以数据类型必须是nvarchar 在SQLServer中,我做到了这一点
SELECT CASE
WHEN CHARINDEX('?',CONVERT(VARCHAR,'2232d@❤##'))>0 THEN 'YES'
ELSE 'NO'
END
这将告诉您一个值是否是希伯来语,如果是,则用英语表示
使用Locate代替Char索引
请让我知道这是否有任何帮助
我只是给你一个更高的想法。如果你需要任何进一步的帮助,请告诉我
这在很大程度上取决于用于存储数据的字符集。可以猜测它是UTF8编码的。UTF8编码有一个特殊的特性,这对于这个目的非常有用:ASCII字符(我们在英语中使用的那种)只有一个字节。希伯来文字符需要不止一个字节 因此,您可以尝试以下方法:
where char_length(col) = length(col)
如果您知道字符串总是以字母字符开头,则如下所示:
where left(col1, 1) between 'a' and 'z'
也可能有用。表格模式是什么样子的?我对希伯来语一无所知,但您可以尝试从元音或希伯来语中最常用字符不在的列中选择*。Briliant!工作得很有魅力。另外,我记得我妈妈是一位SQL专家,所以她帮我修改了一点代码:-)从[namedb]中选择*,其中(左(名称,1)在'a'和'z'之间,或名称为NULL或名称='')和(左(作者,1)在'a'和'z'之间,或作者为NULL或作者='')按名称排序;