62

これは私の前の質問へのフォローアップの質問です。文字Bで始まるすべてのエントリをエコーするMYSQLステートメントを記述したいと思います。

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?category = b

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

そのように私は推測します。そして、アルファベットのすべての文字に1つ、その他(数字など)の1つ

4

5 に答える 5

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

ただし、インデックスがあることを確認してくださいauthor

于 2012-04-14T20:09:08.973 に答える
18

これはMYSQLで機能します

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

このREGEXPでは正規表現の略です

これはT-SQL用です

SELECT Name FROM Employees WHERE Name LIKE '[B]%'
于 2014-07-06T05:13:02.063 に答える
10

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
于 2016-09-21T05:53:06.793 に答える
9

次を使用できます。

WHERE LEFT (name_field, 1) = 'B';
于 2016-09-29T09:23:00.043 に答える
2

ceejayozの回答に投稿されたコメントに続いて、2つのことがめちゃくちゃになっています。

  1. $first配列ではなく、文字列です。$first = $first[0] . "%"に置き換え$first .= "%"ます。簡単にするために。(PHP文字列演算子

  2. 演算子と比較される文字列はLIKE引用符で囲む必要があります。LIKE ".$first."")に置き換えLIKE '".$first."'")ます。(MySQL文字列比較関数

于 2012-04-14T21:43:20.240 に答える