草庐IT

php - MySQL Select 数据分隔字符串

我正在尝试使用LIKE函数选择一条记录。但是,如果中间有字符,则不会显示结果。我希望它选择包含这些字符串的数据。例如:$value="MarkAnthony";$qry="SELECT*FROMstudentsWHEREnameLIKE'%$value%'";返回这些结果:JohnMarkAnthonyMarkAnthonyPhilipps但我也想要这样的结果MarkJamesAnthonyMarkGabrielAnthonyFernandezMarkoJulianAnthonyo有什么想法吗?更新:'Mark'必须在'Anthony'之前 最佳答案

mysql - 在 MySQL 4(不是 5)中总结一个逗号分隔的列

我正在编写一个查询,从一个表中选择数据到另一个表中,需要移动的列之一是DECIMAL列。由于我无法控制的原因,源列有时可以是逗号分隔的数字列表。是否有一种优雅的sqlonly方法可以做到这一点?例如:来源专栏10.25,2.14应该产生一个目标列10.27.14顺便说一句,我正在使用MySQL4。 最佳答案 要进行这种重要的字符串操作,您需要使用存储过程,对于MySQL,存储过程仅出现在6年前的5.0版本中。MySQL4现在已经很老了,分支4.1的最新版本是4.1.25,2008年。不再支持了。大多数Linux发行版不再提供它。是时

mysql - 使用逗号分隔值选择 mysql 列

假设我有一张这样的table。+-------------+---------------+----------------+---------------++id+column1+column2+column3++-------------+---------------+----------------+---------------++1+values+values+a,b,c,d,e++-------------+---------------+----------------+---------------+MyquerycanbelikethisSELECT*FROMtab

php - MySQL INSERT - 字段名称是否需要反引号/重音分隔?

我对MySQL有点陌生(来自MSSQL),最近在尝试将值插入数据库时​​遇到了一些让我非常困惑的事情。我通过PHP创建了一个INSERTSQL命令,但发现它在尝试执行时抛出了错误。INSERTINTOmyTableName(first-name,last-name)VALUES('Ted','Johnson')按照我的想法,上面的字符串应该有效..但它没有。我什至尝试在phpMyAdmin中直接使用它,但我遇到了相同的语法错误。唯一让它起作用的是,如果我在SQL语句中用“反引号”或“重音符号”字符(键盘波浪号键上的另一个字符)包围字段名称。例如……INSERTINTOmyTableNa

php - 将引号添加到以逗号分隔的字符串中的值 php

我有一个搜索框,可以使用逗号包含多个值,例如Pasta、tuna、eggs我正在使用FULLTEXTmysql搜索,但我需要使用某种preg_replace将意大利面、金枪鱼、鸡蛋变成“意大利面”、“金枪鱼”、“鸡蛋”如果我在搜索框中输入“意大利面”、“金枪鱼”、“鸡蛋”,结果是正确的。 最佳答案 对于可以用其他方法解决的问题,不要使用正则表达式。你想要的是一个简单的字符串替换:$string="'".str_replace(",","','",$string)."'";不过,您应该首先转义字符串中的引号(不知道您的转义字符是什么,

mysql - 在 sql 文件中设置 MySQL 分隔符

我想在sql文件中设置分隔符(因为我不能依赖用户通过终端来完成)。是否有允许我设置分隔符的mysql语句?使用DELIMITER//抛出一个错误。#Categoriesschema#---!UpsCREATETABLEIFNOTEXISTS`category`(`id`INTNOTNULLAUTO_INCREMENT,`pid`INTNULLDEFAULT0,`label`VARCHAR(64)NULL,`active`TINYINTNULLDEFAULT0,PRIMARYKEY(`id`));DELIMITER//CREATEFUNCTIONhierarchy_connect_by_

mysql - 从分隔文件加载数据到 mysql 表时跳过错误行

我正在使用以下查询将数据从文本文件加载到mysql表:LOADDATAINFILE"myFile.csv"INTOTABLEsome_tableCOLUMNSTERMINATEDBY','OPTIONALLYENCLOSEDBY'"'ESCAPEDBY'\\'LINESTERMINATEDBY'\n'(admin,consumer);但是,当我的文件包含一些错误行时,它无法跳过该行,整个过程将在该位置停止。我的意思是如果我的文件格式像:----------sankr:kumar----------ramesh:rao----------newusersaddhere----------

具有逗号分隔值的两组的Mysql交集

如果有人能在mysql方面为我提供一点帮助,那就太好了。我有一个包含10亿条记录的表,其中一列的值以逗号分隔。我有一个逗号分隔的值要搜索。我想从该字符串值中选择那些在逗号分隔列中具有任何值的行。例如,表是A的列以逗号分隔,如下所示:-我有一个以逗号分隔的值“79,62,70,107”的字符串。结果将是行号1,2,3,5,7,8,9,10(在提到的图像中。)我是用正则表达式做的,但它花费了太多时间,所以为了优化目的我想避免这种情况。 最佳答案 您无法真正优化您正在做的事情。基本上,您可以像这样运行查询:wherefind_in_set

mysql - 使用逗号作为分隔符在 MySQL 中解析

我有两张table用逗号分隔的用户列表的表1NameUserIDabcA,B,C,DdefA,B,C表2NameUserIDabcAabcBabcCdefAdefB我需要为每个名称找到在表1中但不在表2中的用户(当UserID到名称对存在于表2中但不在表1中作为CSV时,永远不会有实例)。输出应该是NameUserIDabcDdefC我可以用PHP做到这一点,但是有没有一种方法可以通过查询来做到这一点?如果我要这样做,我不确定从哪里开始作为查询。我可以在MySQL中使用逗号作为分隔符进行解析吗? 最佳答案 我将您的测试数据插入到SQ

MySQL 字符串用逗号分隔

我有Stringasdasdwdfef,rgrgtggt,weef并且我想要如下所示的表格格式输出iddecription1asdasdwdfef2rgrgtggt3weef为此我创建了一个程序这是我的程序DELIMITER;;CREATEProcedureSplit(_RowDatatext,_Delimetertext)BEGINDECLARE_IteratorINTdefault1;DECLARE_FoundIndexINT;DECLARE_Datavarchar(255);SET_FoundIndex=LOCATE(_Delimeter,_RowData);DROPTABLEI