select全部位置

这是我之前的一个跟进问题。 我想写一个mysql语句,以字母B开头的每一个条目回应。

Function.php

function getCategory() { $query = mysql_query("SELECT author FROM lyrics WHERE author [starts with letter B]") or die(mysql_error()); while ($row = mysql_fetch_assoc($query)) { ?> <p><a href="##"><?= $row['author']; ?></a></p> <?php } 

Category.php?类别= B

 <?php include 'includes/header.php' ?> <?php getCategory(); ?> <?php include 'includes/footer.php' ?> 

就像我想的那样。 然后一个字母的每个字母,一个与杂项(数字等)

 SELECT author FROM lyrics WHERE author LIKE 'B%'; 

确保你有一个author索引,但!

这将适用于MYSQL

 SELECT Name FROM Employees WHERE Name REGEXP '^[B].*$' 

在这个REGEXP代表正则expression式

这是针对T-SQL的

 SELECT Name FROM Employees WHERE Name LIKE '[B]%' 

SQL语句:

  SELECT * FROM employee WHERE employeeName LIKE 'A%'; 

结果:

 Number of Records: 4 employeeID employeeName employeeName Address City PostalCode Country 1 Alam Wipro Delhi Delhi 11005 India 2 Aditya Wipro Delhi Delhi 11005 India 3 Alok HCL Delhi Delhi 11005 India 4 Ashok IBM Delhi Delhi 11005 India 

在你的评论发布到ceejayoz的回答之后,有两件事情是乱七八糟的:

  1. $first不是数组,而是一个string。 将$first = $first[0] . "%"replace$first = $first[0] . "%" $first = $first[0] . "%"$first .= "%" 。 只是为了简单。 ( PHPstring运算符 )

  2. 应该引用与LIKE运算符进行比较的string。 用LIKE ".$first."") LIKE '".$first."'")replaceLIKE ".$first."") LIKE '".$first."'") 。 ( MySQLstring比较函数 )

您可以使用:

 WHERE LEFT (name_field, 1) = 'B';