这是我之前的一个跟进问题。我想写一个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(数字等)的字母
答案 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回答的评论,有两件事情搞砸了:
$first
不是数组,而是字符串。将$first = $first[0] . "%"
替换为$first .= "%"
。只是为了简单。 (PHP string operators)
应引用与LIKE
运算符进行比较的字符串。将LIKE ".$first."")
替换为LIKE '".$first."'")
。 (MySQL String Comparison Functions)