0

私は CakePHP 1.2 を使用していますが、次のような状況があります:
「class」フィールドを持つテーブルがあり、class は「A」、「B」、「C」、「G」、または 3 つの文字列です。すべての
文字列には意味があります (たとえば、A = 記事、B = 本など)。
私はこのコードを書きます:

if ($_GET['classificazione']!="art0")
{
    $classificazione=$_GET['classificazione'];
    if ($classificazione=="A"||$classificazione=="B"||$classificazione=="C"||$classificazione=="G")
                $conditions[]=array('classe =' => "$classificazione"); 

これは「1文字」の場合は機能しますが、2文字以上の場合はどうすればよいかわかりません。
それらが等しいかどうかは気にしないので(「DBB」と「ABA」は両方のドキュメントです)、長さを確認することを考えていたので、これを試しました:

else
    $conditions[]=array('LENGTH(classe) > 1'); }

私はelseをテストしましたが、今は機能しています。

4

1 に答える 1

1

長さをバイト単位でチェックするには、LENGTH() を使用します。

SELECT str FROM sometable WHERE LENGTH(str) = 5;

または、CHAR_LENGTH() を使用して長さを文字数でチェックします (マルチバイト文字列に役立ちます)。

SELECT str FROM sometable WHERE CHAR_LENGTH(str) = 5;
于 2013-02-14T09:19:37.767 に答える