MariaDB REGEXP_REPLACE 백레퍼런스가 FUNCTION에서 작동하지 않음
나는 다음과 같은 간단한 표현을 가지고 있습니다.
SELECT REGEXP_REPLACE('aaa 123 bbb 456 ccc', '([0-9]+)', LPAD('\\1', 10, '0'));
+-------------------------------------------------------------------------+
| REGEXP_REPLACE('aaa 123 bbb 456 ccc', '([0-9]+)', LPAD('\\1', 10, '0')) |
+-------------------------------------------------------------------------+
| aaa 00000000123 bbb 00000000456 ccc |
+-------------------------------------------------------------------------+
하지만 제가 이것을 함수에 넣으면,
CREATE FUNCTION test()
RETURNS VARCHAR(4000)
BEGIN
RETURN REGEXP_REPLACE('aaa 123 bbb 456 ccc', '([0-9]+)', LPAD('\\1', 10, '0'));
END
작동하지 않습니다.
SELECT test();
+-----------------------------------+
| test() |
+-----------------------------------+
| aaa 0000000001 bbb 0000000001 ccc |
+-----------------------------------+
어떻게 고칠 수 있나요? (10.1.38-MariaDB-0+deb9u1)
사용하다'\1'
대신에'\\1'
....
언급URL : https://stackoverflow.com/questions/57500467/mariadb-regexp-replace-backreferences-not-works-in-function
'source' 카테고리의 다른 글
함수 내부의 전역 변수에 액세스할 수 없습니다. (0) | 2023.09.02 |
---|---|
NestedScrollView 내에서 RecyclerView를 사용하는 방법은 무엇입니까? (0) | 2023.09.02 |
C의 구조 배열에서 'size of'의 결과는? (0) | 2023.09.02 |
SQL에 오타가 있다고 하는 오류가 발생하는 이유는 무엇입니까? (0) | 2023.09.02 |
포크를 사용하지 않고 요청을 당기시겠습니까? (0) | 2023.09.02 |