programing

MySQL/SQL은 텍스트 필드의 처음 40자를 검색합니까?

mailnote 2023. 9. 8. 21:39
반응형

MySQL/SQL은 텍스트 필드의 처음 40자를 검색합니까?

mysql db 테이블에서 텍스트 필드를 검색하려면 전체 텍스트가 아니라 몇 개의 40자 정도만 검색해야 합니다.

이것은 sql로 할 수 있나요 아니면 php를 사용해서 해야 하나요?

기본적으로 제가 하려는 것은 처음 x자를 보여주고 사용자가 그것을 클릭하여 전체 내용을 보게 하는 것입니다.

SELECT LEFT(field, 40) AS excerpt FROM table(s) WHERE ...

함수 참조.

경험칙상, MySQL이 당신을 위해 할 수 있는 것을 PHP로 절대 해서는 안 됩니다.이렇게 생각해 보십시오. DB에서 요청하는 애플리케이션으로 엄격하게 필요한 것 이상의 것을 전송하고 싶지 않을 것입니다.


편집 전체 데이터를 동일한 페이지에서 더 자주 사용할 경우(즉, 중간 요청이 없는 경우), 전체 텍스트를 한 번에 가져오지 않을 이유가 없습니다.(댓글 및 Veger의 답변 참조)

SELECT LEFT(MY_COLUMN, 40) FROM MY_TABLE

MySQL 참조 매뉴얼의 기능:

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_left

이거 한번...
테이블 이름 WHERE 조건에서 첫 번째 40의 왼쪽(필드 이름, 40)을 선택합니다.
테이블 이름에서 오른쪽(필드 이름, 40)을 선택합니다. 마지막 40의 조건

이미 표시된 다른 것과 같이 SQL에서 이 작업을 수행할 수 있습니다.

그러나 사용자가 전체 텍스트를 클릭할 경우 전체 텍스트를 표시하려면 전체 텍스트도 필요하며 데이터베이스에서 짧은 텍스트와 전체 텍스트를 전송하는 것은 낭비인 것 같습니다.따라서 사용자가 클릭할 때 전체 텍스트를 잡고 코드를 작성하여 짧은 텍스트와 전체 텍스트를 표시할 수 있습니다.

$result = mysql_query('SELECT text FROM table');
$row = mysql_fetch_row($result);
echo '<div onclick="alert(\''.$row[0].'\');">'.substr($row[0], 0, 40).'</div>';

물론 클릭하면 더 좋은 일을 할 수 있습니다.alert()). 또한 원본이 40자보다 짧은지 지금 PHP를 확인하여 이러한 상황을 처리할 수 있습니다.

이것도 한번 확인해보세요.

 mysql_query('SELECT LEFT('your text/fieldname', 40) FROM tablename');

언급URL : https://stackoverflow.com/questions/2080860/mysql-sql-retrieve-first-40-characters-of-a-text-field

반응형