php在mysql查询中

Jos*_*eph 3 php mysql

嗨好网络的人,

假设我有这个查询

$query ="select col1, col2 From table where condition";
Run Code Online (Sandbox Code Playgroud)

我想对col2的值进行以下操作

$DLMPos = strpos(col2, '-DLM'); 
if($DLMPos != "" && $DLMPos >= 0){
$col2= strpos(substr(col2, $DLMPos, strlen(col2)), " ");        
}
Run Code Online (Sandbox Code Playgroud)

问题:有没有办法在查询中包含这种处理类似于==> $ query ="select col1,if(bla bla bla)from table where condition";.

我知道我们可以在mysql查询中执行if语句但是我们可以做strpos和substr之类的东西吗?

提前致谢

Jon*_*oni 5

你可以在这里找到MySQL所拥有的字符串处理函数列表:http://dev.mysql.com/doc/refman/5.6/en/string-functions.html

strpos并且substr大致对应于LOCATESUBSTRING,虽然对于您的用例,您可能会发现SUBSTRING_INDEX更有用:

strcount出现分隔符之前从字符串返回子字符串delim.如果count为正,则返回最终分隔符左侧的所有内容(从左侧开始计算).如果count是否定的,则返回最终分隔符右侧的所有内容(从右侧开始计算).

还有一个IF函数可以让你编写条件.