我试图了解mysql中的子串查询的用法这是我试过的查询.
select substr('Beautiful',-5) from dual; //output tiful
Run Code Online (Sandbox Code Playgroud)
当我们给出一个负值时,计数是从最后一个字符完成的.
在我给出以下查询的同时
select substr('Beautiful',-5,2) from dual; // outputs ti
Run Code Online (Sandbox Code Playgroud)
当我们给出一个负值时,计数是从最后一个字符完成的,并显示值5和6即(t&i)..
当我以下查询时出现问题
select substr('Beautiful',-5,-2) from dual; // outputs <blank>
Run Code Online (Sandbox Code Playgroud)
我实际上期望输出为"ut".; 任何人都可以解释我在这里发生了什么,我对上述两个查询的评估是否正确?
假设您正在使用MySQL 5.x,对于函数SUBSTRING(str,pos,len),第3个参数len是非负整数> 0.任何其他值都将导致空字符串.
如果
len小于1,则结果为空字符串.
参考:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substr