>

많은 제품에 다음과 같은 정보가 포함 된 제품에 대한 메모 란이 있습니다 :

<p><em><strong>Item dropped from ESP datafeed and pricing removed from site on 02-17-2017. May still be available.</strong></em></p>

2017 년 2 월 17 일에서 변경 한 날짜 (그러나 항상 그 형식으로되어 있음). 데이터베이스 쿼리 (MySQL REPLACE ()와 같이 열에있는 나머지 데이터는 남기고 날짜와 일치하는 정규 표현식을 사용하여)를 사용하여 이러한 문자열을 찾아 삭제할 수 있습니까? 아니면 PHP에서해야합니까?


  • 답변 # 1

    WHERE notes LIKE '<p><em><strong>Item dropped from ESP datafeed and pricing removed from site on %. May still be available.</strong></em></p>'
    
    

    나는 % 를 넣어  문자열에서.

    문자열 삭제를 이해하지 못합니다-빈 문자열로 바꾸시겠습니까? 와이즈 비즈 ? NULL 에 포함 된을 삭제하십시오.  기둥? 다른 것? 나는 notes 바랍니다  절은 당신이 올바른 방향으로 움직이게하기에 충분합니다.

    참고 : WHERE  '오버 킬'입니다. 와이즈 비즈  충분합니다.

    날짜를 제거하고 나머지 문자열을 유지하려면 그렇지 않습니까? ...

    REGEXP
    
    

    (또는 자리 표시 자로 추가하려는 항목)

    MariaDB-10.0.5는 REGEXP_REPLACE (), REGEXP_INSTR () 및 REGEXP_SUBSTR ();하지만 귀하의 경우에 필요한 것 같습니다.

  • 답변 # 2

    나는 다음과 같이 할 수있었습니다 :

    LIKE
    
    
    UPDATE tbl SET notes = '<p><em><strong>Item dropped from ESP datafeed and pricing removed from site on xxxxxxxxxxx. May still be available.</strong></em></p>' WHERE notes LIKE '<p><em><strong>Item dropped from ESP datafeed and pricing removed from site on %. May still be available.</strong></em></p>';

관련 자료

  • 이전 javascript - NetSuite 비밀번호 사용자 정의 필드 유형 디코딩
  • 다음 플랫 JSON에서 HTML로 데이터 검색