在MySQL标准中使用Substring

Ian*_*Ian 15 mysql substring

我正在尝试获取一个人的名字的第一个字母等于P的所有实例.

这就是我提出的,它不会返回任何东西:

$sql="SELECT * FROM people WHERE SUBSTRING(FirstName,0,1) = 'P'";
Run Code Online (Sandbox Code Playgroud)

建议?

Jim*_*son 39

表达式不起作用的原因是substring()位置是从1开始的

尝试以下任何一种:

where FirstName like 'P%'
Run Code Online (Sandbox Code Playgroud)

要么

where substring(FirstName,1,1) = 'P'
Run Code Online (Sandbox Code Playgroud)

  • @alex 1-origin在过去更常见.当有意义地将索引表示为来自基址的_offsets_时,0-origin成为基于指针的算法的标准.当最初设计SQL时('70s-'80s),1-origin和0-origin同样普遍. (10认同)
  • 用于教我"SUBSTRING"的+1使用1个索引(为什么?) (5认同)