반응형
MYSql의 새 줄 문자 바꾸기가 작동하지 않습니다.
나는 다음 쿼리를 실행했는데 어떤 이유로 데이터베이스의 새 줄 문자를 대체하지 않습니다.행은 1과 일치하지만 변화가 없다고 표시됩니다.무엇이 잘못될 수 있습니까?
mysql> UPDATE aboutme SET abouttext=REPLACE(abouttext,'\\n','') WHERE userid='5099a95cd944b8.22468149';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
다음을 사용하여 새 줄 문자를 일치시킬 수 있습니다.\n
,것은 아니다.\\n
.
코드:
UPDATE aboutme
SET abouttext=REPLACE(abouttext,'\n','')
WHERE userid='5099a95cd944b8.22468149';
한다면\n
나의 경우와 같이 작동하지 않습니다, 다음이 작동했습니다.\r\n
UPDATE aboutme
SET abouttext=REPLACE(abouttext,'\r\n','')
WHERE userid='5099a95cd944b8.22468149';
제 경우에는 웹 애플리케이션이었습니다.
당신은 그것이 그 안에\n
, 하지만 있습니다.\r
.
update [Table] set [column]=replace(convert([column] using utf8) ,'\r','');
사용자의 경우:
update aboutme set abouttext=replace(convert(abouttext using utf8) ,'\r','');
저에게 도움이 된 것은 이것을 사용하는 것뿐이었습니다.
UPDATE aboutme SET abouttext = REPLACE(REPLACE(abouttext, CHAR(13), ''), CHAR(10), '') WHERE userid='5099a95cd944b8.22468149';
Ryan's 솔루션을 사용하는 것은 아무것도 업데이트하지 않았지만 MySQL 출력 포맷을 엉망으로 만들고 있었습니다.
이런 일이 벌어집니다.
mysql> mysql> select * from t1 limit 3;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update |
+----------+------------+-----------+---------------------+
| 1 | PENELOPE | GUINESS | 2006-02-15 04:34:33 |
| 2 | NICK | WAHLBERG | 2006-02-15 04:34:33 |
| 3 | ED | CHASE | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+
3 rows in set (0.00 sec)
mysql> update t1 set first_name=replace(first_name,'abc','') where first_name='ed';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 10 Changed: 0 Warnings: 0
mysql> select * from t1 limit 3;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update |
+----------+------------+-----------+---------------------+
| 1 | PENELOPE | GUINESS | 2006-02-15 04:34:33 |
| 2 | NICK | WAHLBERG | 2006-02-15 04:34:33 |
| 3 | ED | CHASE | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+
3 rows in set (0.00 sec)
mysql> update t1 set first_name=replace(first_name,'ED','EDD') where first_name='ed';
Query OK, 10 rows affected (0.00 sec)
Rows matched: 10 Changed: 10 Warnings: 0
mysql> select * from t1 limit 3;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update |
+----------+------------+-----------+---------------------+
| 1 | PENELOPE | GUINESS | 2006-02-15 04:34:33 |
| 2 | NICK | WAHLBERG | 2006-02-15 04:34:33 |
| 3 | EDD | CHASE | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+
3 rows in set (0.00 sec)
제 말은 작동하는 위치 조건 때문에 '행 일치: 1'이 있지만 대체자가 찾을 수 없다는 것입니다.\\n
대체할 수 있는 이유는changed: 0
당신의 테이블 데이터를 확인해 보세요.
REFREENT 기능은 대소문자를 구분합니다. MySql 서버 버전에 속한다고 생각합니다.
설명=REACENT(description, 'Videosite', 'video.5la.net ')는 description=과 다른 결과입니다.REACENT(설명, 'VideoSite', 'video.5la.net ')
그와 같은 것을 시도해 보세요.
REPLACE(REPLACE(text, CHAR(92), '#'), '#n', ' ')
언급URL : https://stackoverflow.com/questions/13273343/replace-new-line-character-in-mysql-not-working
반응형
'programing' 카테고리의 다른 글
GraphQL ID를 고객의 문자열로 처리해야 합니까? (0) | 2023.10.05 |
---|---|
Angular에서 선택한 사용 예가 필요합니다.JS입력양식 (0) | 2023.10.05 |
XSLT를 사용한 XML에서 CSV로 (0) | 2023.10.05 |
MYSQL SELECT 1년 전 기록 (0) | 2023.10.05 |
보기 페이지에서 현재 조각 인스턴스 가져오기 (0) | 2023.10.05 |