복붙노트

[SQL] MySQL은 / ​​SQL 텍스트 필드의 처음 40 개 문자를 검색?

SQL

MySQL은 / ​​SQL 텍스트 필드의 처음 40 개 문자를 검색?

나는 MySQL의 DB 테이블에서 텍스트 필드가 아니라 전체 텍스트, 단지 몇 40 개 정도 문자를 검색 할 수있는 방법.

이것은 내가 PHP를 사용하여 할 필요가 SQL에서 수행 또는 수행 할 수 있습니까?

기본적으로 내가 뭘하려고 전체 내용을 볼 수있는 그의 사용자를 클릭하자 다음 첫 번째 X 문자를 표시하고있다.

해결법

  1. ==============================

    1.

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

    왼쪽 () 함수를 참조하십시오.

    엄지 손가락의 규칙으로, 당신은 MySQL이 당신을 위해 무엇을 할 수있는 PHP에서 할해서는 안됩니다. 그것을 이런 식으로 생각 : 당신이 요청하는 응용 프로그램에 DB에서 더 엄격하게 필요 이상으로 전송 아무것도 원하지 않는다.

    편집은 한 번에 전체 텍스트를 취득하지 않을 이유가 없습니다, 더 자주 못하는 것보다 (아무 중간 요청, 즉) 같은 페이지에 전체 데이터를 사용하려고하는 경우. (의견과 Veger의 답변을 참조하십시오.)

  2. ==============================

    2.

    SELECT LEFT(MY_COLUMN, 40) FROM MY_TABLE
    

    MySQL을 참조 설명서의 기능 :

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

  3. ==============================

    3.테이블 이름에서이 ... SELECT LEFT (필드 이름, 40)을 시도 WHERE 처음 40에 대한 조건 SELECT RIGHT 테이블 이름 FROM (필드 이름, 40) WHERE 지난 40 조건

    테이블 이름에서이 ... SELECT LEFT (필드 이름, 40)을 시도 WHERE 처음 40에 대한 조건 SELECT RIGHT 테이블 이름 FROM (필드 이름, 40) WHERE 지난 40 조건

  4. ==============================

    4.다른 사람이 이미 표시된 것처럼 SQL에서이 작업을 수행 할 수있다.

    다른 사람이 이미 표시된 것처럼 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>';
    

    당신이 그것을 클릭하면 더 좋은 뭔가를 할 수 당연히 (대신 경고 ()). 또한 원래 이런 짧은 40 문자와 핸들 상황에 있는지 지금 확인 몇 가지 PHP를 할 수 있습니다.

  5. ==============================

    5.뿐만 아니라이 일을 확인,

    뿐만 아니라이 일을 확인,

     mysql_query('SELECT LEFT('your text/fieldname', 40) FROM tablename');
    
  6. from https://stackoverflow.com/questions/2080860/mysql-sql-retrieve-first-40-characters-of-a-text-field by cc-by-sa and MIT license