반응형
SQL 쿼리는 'like'와 함께 작동하지만 일부 ID의 경우 동등하지 않습니다.
나는 mariadbdb를 가지고 있습니다.event표 및 몇 가지 항목:
MariaDB [db]> select id from event;
+--------------------------------------+
| id |
+--------------------------------------+
| 307304a6-a6f9-11ea-a857-0242c0a84006 |
| 324b3d58-a704-11ea-a857-0242c0a84006 |
| 34a7420a-d893-11ea-aa55-0242c0a84005 |
| 48ff5659-f738-11ea-9ba6-0242c0a84005 |
| 60daad8b-f64f-11ea-bb99-0242c0a84005 |
| 64f31bde-afa0-11ea-9088-0242c0a84006 |
| 6ecb1814-b786-11ea-bc7d-0242c0a84005 |
| 7a9431e3-d88e-11ea-aa55-0242c0a84005 |
| 7b3a2a08-f64f-11ea-bb99-0242c0a84005 |
| 859c9507-d61a-11ea-aa55-0242c0a84005 |
| 956104e5-f73a-11ea-9ba6-0242c0a84005 |
| b3b78b4e-a6b2-11ea-a857-0242c0a84006 |
| de844d58-fbcf-11ea-9ba6-0242c0a84005 |
| f03fe24b-fbcf-11ea-9ba6-0242c0a84005 |
| f9c563ee-fcec-11ea-9ba6-0242c0a84005 |
+--------------------------------------+
15 rows in set (0.015 sec)
id로 이벤트를 선택하는 다음과 같은 간단한 쿼리가 있습니다.위의 선택 결과에서 복사한 일부 ID의 경우 예상대로 올바른 이벤트를 반환하지만 일부 ID의 경우에는 아무것도 반환하지 않습니다.
MariaDB [db]> select id from event where id = '307304a6-a6f9-11ea-a857-0242c0a84006';
+--------------------------------------+
| id |
+--------------------------------------+
| 307304a6-a6f9-11ea-a857-0242c0a84006 |
+--------------------------------------+
1 row in set (0.016 sec)
MariaDB [db]> select id from event where id = '48ff5659-f738-11ea-9ba6-0242c0a84005';
Empty set (0.015 sec)
하지만 제가 사용한다면like대신에=처음에 자리 표시자를 추가하면 원하는 결과를 얻을 수 있습니다.
MariaDB [db]> select id from event where id like '%48ff5659-f738-11ea-9ba6-0242c0a84005';
+--------------------------------------+
| id |
+--------------------------------------+
| 48ff5659-f738-11ea-9ba6-0242c0a84005 |
+--------------------------------------+
1 row in set (0.014 sec)
인쇄할 수 없는 ASCII 문자에 대해서는 이미 생각해 보았지만 이를 배제했습니다.
MariaDB [db]> SELECT * FROM event WHERE id NOT REGEXP '[A-Za-z0-9]';
Empty set (0.016 sec)
MariaDB [db]> SELECT * FROM event WHERE id regexp '[^ -~]';
Empty set (0.015 sec)
MariaDB [db]> SELECT * FROM event WHERE id like '%\0%';
Empty set (0.017 sec)
데이터베이스는latin1암호화된, 문제의 표는utf8mb4_unicode_ci.
동일한 쿼리가 다른 ID가 아닌 일부 ID에 대해 작동하는 것이 어떻게 가능합니까?디버그하려면 어떻게 해야 합니까?
언급URL : https://stackoverflow.com/questions/64013942/sql-query-works-with-like-but-not-with-equals-for-some-ids
반응형
'programing' 카테고리의 다른 글
| jQuery ajax 호출에서 응답 시간을 얻으려면 어떻게 해야 합니까? (0) | 2023.09.09 |
|---|---|
| MySQL Left JOIN으로 별칭을 사용하는 방법 (0) | 2023.09.09 |
| npm에서 패키지를 찾을 수 없습니다.json (0) | 2023.09.09 |
| Set-Execution Policy가 금지된 경우에도 PowerShell 스크립트를 실행하려면 어떻게 해야 합니까? (0) | 2023.09.09 |
| TextView를 스타일리시하여 모든 문자를 대문자로 만드는 방법이 있습니까? (0) | 2023.09.09 |