选择所有[首字母以B开头]

时间:2012-04-14 20:07:36

标签: mysql

这是我之前的一个跟进问题。我想写一个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' ?>

就像我猜的那样。然后是字母表中每个字母的一个,以及带有misc(数字等)的字母

5 个答案:

答案 0 :(得分:92)

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

确保您在author上有索引!

答案 1 :(得分:14)

这适用于MYSQL

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

在此REGEXP中代表正则表达式

这适用于T-SQL

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

答案 2 :(得分:7)

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

答案 3 :(得分:7)

您可以使用:

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

答案 4 :(得分:1)

根据你对ceejayoz回答的评论,有两件事情搞砸了:

  1. $first不是数组,而是字符串。将$first = $first[0] . "%"替换为$first .= "%"。只是为了简单。 (PHP string operators

  2. 应引用与LIKE运算符进行比较的字符串。将LIKE ".$first."")替换为LIKE '".$first."'")。 (MySQL String Comparison Functions