长度将是动态的,我想在 MYSQL 中的字符串中最后一次出现字符之前找到数据
就像php 中的strrchr
要获得最后一次出现的 _(下划线),我需要传递长度。这是 3
mysql> SELECT SUBSTRING_INDEX ('this_is_something_here', '_', 3);
+------------------------------------------------- ---+
| SUBSTRING_INDEX ('this_is_something_here', '_', 3) |
+------------------------------------------------- ---+
| this_is_something |
+------------------------------------------------- ---+
在这里,要获得最后一次出现的 _(下划线),我需要传递长度。这是 6
mysql> SELECT SUBSTRING_INDEX ('and_this_may_go_like_this_too', '_', 6);
+------------------------------------------------- ----------+
| SUBSTRING_INDEX ('and_this_may_go_like_this_too', '_', 6) |
+------------------------------------------------- ----------+
| and_this_may_go_like_this |
+------------------------------------------------- ----------+
我想要上次出现 _ (下划线)之前的数据字符串,只是在上面的例子中显示,但没有传递长度。
注意:从上面的例子我想要“_here”和“_too”的数据之前
最后一次出现 _(下划线)
在 MySQL 中是否有任何内置功能可以实现这一点?
在此先感谢朋友们。
MySQLi不将NULL作为空值进行比较.
就我而言:
if($Id == 1) {
$cond = " AND my_field != '' ";
} elseif ($Id == 2){
$cond = " AND my_field = '' ";
}
Run Code Online (Sandbox Code Playgroud)
在执行具有条件的mysql语句时!='',WHERE结果集与=''WHERE条件中的结果集不完全相反.这里!=''声明完美正常.
但是当我把这个条件放在elseif它的工作正常时.
elseif ($Id == 2){
$cond = " AND my_field IS NULL ";
}
Run Code Online (Sandbox Code Playgroud)