小编Adi*_*hah的帖子

MYSQL:查找字符串中最后一次出现的字符

长度将是动态的,我想在 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 中是否有任何内置功能可以实现这一点?

在此先感谢朋友们。

mysql string

8
推荐指数
1
解决办法
5537
查看次数

mysql不会将NULL作为空值进行比较

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)

php mysql mysqli

-2
推荐指数
1
解决办法
88
查看次数

标签 统计

mysql ×2

mysqli ×1

php ×1

string ×1