data
다음을 포함하는 PostgreSQL 테이블에 호출 된 열 이 있습니다.
-----BEGIN HEADER-----
TYPE = PKCS#10
SERIAL = xxxxx
NOTBEFORE = Thu Sep 9 12:37:43 2010 UTC
LOA = 10
ROLE = xxxxx
RA = xxxxx
REQUEST_AUTH_USERID = CN=xxxxxxx
SCEP_TID = xxxxx
ARCHIVED_AFTER = Mon Nov 30 17:41:40 2015
_AFTER = Tue Jan 26 09:26:14 2016
-----END HEADER-----
-----BEGIN CERTIFICATE REQUEST-----
MIICWTCCAUECAQAwFjEUMBIGA1UEAwwLQ09QUzAwMDEzMDAwggEiMA0GCSqGSIb3
.
.
.
.
bV0eG4rlMOgTPv6mqb9HHKFqi3dsDzZKfXyoAsLOyOkj+AWXmAfXG8enT4uqBJJf
AsrUuJyTwzvmfdcEgYxokI6FU/nAjgQpmLkuVrE=
-----END CERTIFICATE REQUEST-----
다른 응용 프로그램으로 이동하고 싶기 때문에로 시작하는 부분 만 필요합니다 -----BEGIN CERTIFICATE REQUEST-----
.
SQL 쿼리에서 하위 문자열과 위치로이 문자열을 추출하려고 시도했지만 다음을 사용하여이 문자열의 위치를 찾으려고해도
SELECT position('-----BEGIN CERTIFICATE REQUEST-----' in (SELECT data from openca2.request where req_key = 3874))
NULL 값을 얻습니다. 단일 문자열의 일부가 추출 된 예만 찾을 수 있습니다.
공백이 문제인지 모르겠습니다. 시작 및 끝 헤더 내의 부분이 항상 동일하지는 않습니다.
SQL 쿼리로이 작업을 수행 할 수 있습니까?
SELECT substr(
data,
position('-----BEGIN CERTIFICATE REQUEST-----' IN data)
)
FROM openca2.request
WHERE req_key = 3874;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다