草庐IT

mb_substr

全部标签

mysql 与 SUBSTRING_INDEX 相反

我可以选择@字符之前的文本字符串:数据库中的示例条目:email@domain.com,示例输出:email与:SELECTSUBSTRING_INDEX(email,'@',1)但是在@字符之后选择文本字符串的命令是什么?谢谢 最佳答案 像这样为count使用负值:SELECTSUBSTRING_INDEX(email,'@',-1)请参阅此处的文档:http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_substring-index

MySQL 排序规则 : utf8mb4_unicode_ci vs "utf8mb4 - default collation"

请帮助我理解MySQLWorkbench中列出的排序规则之间的区别:utf8mb4_unicode_ci与utf8mb4-默认排序规则附注每个人都在推荐使用utf8mb4_unicode_ci。如果它如此受欢迎,为什么它不是默认值?它与默认值有何不同?我使用的是MySQL5.7.21。 最佳答案 utf8mb4_default??你在哪里看到的?utf8mb4的默认排序规则(MySQL8.0之前)是utf8mb4_general_ci。这一次只检查一个字节,因此ss不被认为等于ß。utf8mb4的大多数其他排序规则确实认为它们相等。

mysql - "Where"语句 : match a single word (not substring)

我正在使用MySQL。我的数据库中有一个car表,该表中有一个name列。假设表的name列包含值:+----------+|name|+----------+|AAABB|----------|CCDBB|----------|OOkkBB|----------|PPBCC|----------我想搜索name列值包含单词“BB”(不是子字符串)的表,SQL命令是什么要做到这一点?我知道LIKE,但它用于匹配包含的子字符串,而不是单词匹配。附言我的表包含大量数据。所以,我可能需要一种比使用LIKE更有效的方法name列中的值是随机字符串。请不要要求我使用IN(...),因为该列中的值

mysql - 查找 SUBSTRING() 的 MIN() 值

我遇到了以下问题。想象一下我的mySQL表如下所示:idrange1210-4002300-3103100-350我要找范围字段中第一部分(“-”之前)的最小值范围字段中第二部分(“-”之后)的最大值现在我尝试使用SUBSTRING选择该字段的所需部分,然后像这样获取MIN或MAX值:SELECTSUBSTRING_INDEX(`range`,'-',1)as`left_value`,SUBSTRING_INDEX(`range`,'-',-1)as`right_value`,MIN(`left_value`),MAX(`right_value`)FROM`table`但我只是得到“#

mysql - mysql中的mid和substring有什么区别?

我刚刚看到MID()和SUBSTRING()函数返回相同的结果。我想知道两者之间有什么区别?不同别名的功能用法是否相同?SELECTMID('mysample',2,3);SELECTSUBSTRING('mysample',2,3);返回:ysa 最佳答案 作为MySQLdocumentation说:MID(str,pos,len)isasynonymforSUBSTRING(str,pos,len).文档还说MID()SUBSTRING()需要3个参数更灵活。len参数是可选的。当它不存在时,该函数返回以pos开头直到字符串结尾

mysql - 强制 MariaDB 客户端使用 utf8mb4

我遇到了一个问题,在使用PHP与命令行进行查询时,我得到的结果排序不同。根据我的研究,在某些情况下,糟糕的编码似乎会导致结果的顺序出现问题。也就是说,我所有的数据库表都编码为utf8mb4,排序规则为utf8mb4_general_ci。但是,似乎mysql变量设置不正确。我在Mysql5.5.5-10.1.26-MariaDb上。这是我的CNF设置,但老实说我不知道​​我在这里做什么:[client]default-character-set=utf8mb4[mysql]default-character-set=utf8mb4[mariadb][mysqld]character-s

mysql - Caused by : java. sql.SQLException: 不支持的字符编码 'utf8mb4'

我正在编写一个将大量使用utf-8编码的应用程序。对于服务器,我使用javaservlet,对于UI,我使用带有jsp和javascript的JavaServlet。所以,在忽略了一段时间的乱码之后,我决定解决utf-8编码问题。在寻找解决方案时,我做了一个过滤器类我在这里遵循了@cosoant的回答:https://stackoverflow.com/questions/138948/how-to-get-utf-8-working-in-java-webapps直到“MySQL数据库和表”(不包括),因为我仍在使用进行开发在我的persistence.xml.然后我明白了mysql

mysql - 如何将索引 varchar(255) 从 utf8 更改为 utf8mb4 并仍然保持在 767 最大 key 长度以下?

我有一个需要支持表情符号的mysql列,这意味着将utf8列转换为utf8mb4。但是我的varchar(255)不适合,只要该列被索引(不是唯一的)。如何保留索引并获取utf8mb4排序规则?我试图将长度减少到191,但不幸的是我的一些行更长并且我收到此错误:#1406-Datatoolongforcolumn'column_name'atrow33565(这不是很有帮助,因为我没有自动递增列,也不知道如何细化第33565行)。 最佳答案 我认为它与行的最大数据长度有关,存在这样的限制,至少对于我所知道的字符串数据类型。为避免这种

php - 简单的 mysql 选择查询允许的内存大小超过 256mb

编辑:对于日后发现此问题的任何人来说,CI会在这种情况下使用大量内存,因为它会为每一行创建一个对象(使用result_array()似乎也好不了多少),所以最好的选择只是使用PHP内置的mysql函数。如果您使用的是MYSQLI,则可以像这样访问连接链接:$this->db->conn_id我正在尝试通过命令行运行一个脚本(测试什么将是一个cronjob),脚本所做的是无关紧要的,因为它在第一次选择时失败并且没有得到任何进一步的结果。我正在使用Codeigniter2.0.3。我的表格是这样的:CREATETABLEIFNOTEXISTS`graphic_files`(`graphic

python - OperationalError : (2019, ""无法初始化字符集utf8mb4(路径:C:\\mysql\\\share\\charsets\\)"")

我在settings.py中配置了我的Django数据库设置:'OPTIONS':{'charset':'utf8mb4'},所有列和表都设置为utf8mb4。我想要这种编码,这样我就可以像这样存储表情符号:?????当我在Mac或Linux上启动我的脚本时,它工作正常,但在Windows上,我得到:C:\Users\Josh\Documents\mysite\myproj\scripts\crawler.py154__getitem__C:\Python27\Lib\site-packages\django\db\models\query.py295__iter__C:\Python