이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.토토 사이트 PostgreSQL : 문서 : 17 : 34.15. Informix 호환성 모드버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

35.15. 인포믹스호환성 모드

ecpg소위에서 실행될 수 있습니다Informix 호환 모드. 이 모드가 활성화되어 있으면 마치 해당 모드인 것처럼 동작하려고 합니다.인포믹스에 대한 사전 컴파일러인포믹스E/SQL. 일반적으로 이렇게 하면 대신 달러 기호를 사용할 수 있습니다.EXEC SQL임베디드 SQL 명령을 도입하기 위한 프리미티브:

$int j = 3;
$CONNECT TO :db이름;
$CREATE TABLE 테스트(i INT PRIMARY KEY, j INT);
$INSERT INTO test(i, j) VALUES (7, :j);
$COMMIT;

참고

다음 사이에 공백이 있어서는 안 됩니다.$그리고 다음 전처리기 지시문, 즉,포함, 정의, ifdef, etc. 그렇지 않으면 전처리기가 토큰을 호스트 변수로 구문 분석합니다.

두 가지 호환성 모드가 있습니다:INFORMIX, INFORMIX_SE

이 호환 모드를 사용하는 프로그램을 링크할 때, 다음에 링크해야 한다는 것을 기억하세요libcompatECPG와 함께 배송됩니다.

이전에 설명한 구문 설탕 외에,인포믹스호환성 모드는 E/SQL에서 ECPG로 알려진 내장 SQL 문뿐만 아니라 데이터의 입력, 출력 및 변환을 위한 일부 기능을 포팅합니다.

인포믹스호환성 모드는 ECPG의 pgtypeslib 라이브러리와 밀접하게 연결되어 있습니다. pgtypeslib는 SQL 데이터 유형을 C 호스트 프로그램 내의 데이터 유형과 대부분의 추가 기능에 매핑합니다.인포믹스호환성 모드를 사용하면 해당 C 호스트 프로그램 유형에서 작업할 수 있습니다. 그러나 호환성 범위는 제한되어 있습니다. 복사를 시도하지 않습니다.인포믹스행동; 이는 거의 동일한 작업을 수행할 수 있게 하고 동일한 이름과 동일한 기본 동작을 갖는 함수를 제공하지만 다음을 사용하는 경우 드롭인 대체가 아닙니다.인포믹스현재. 또한 일부 데이터 유형이 다릅니다. 예를 들어,PostgreSQL의날짜 시간 및 간격 유형은 예를 들어 범위에 대해 알지 못합니다.년-분따라서 ECPG에서도 이에 대한 지원을 찾을 수 없습니다.

35.15.1. 추가 유형

오른쪽으로 잘린 문자열 데이터를 저장하기 위한 Informix 특수 "문자열" 의사 유형은 이제 Informix 모드에서 사용하지 않고 지원됩니다.typedef. 실제로 Informix 모드에서 ECPG는 다음을 포함하는 소스 파일 처리를 거부합니다.typedef 일부 유형 문자열;

EXEC SQL 시작 선언 섹션;
문자열 사용자 ID; /* 이 변수에는 잘린 데이터가 포함됩니다 */
EXEC SQL END 선언 섹션;

EXEC SQL FETCH MYCUR INTO :userid;

35.15.2. 추가/누락된 내장 SQL 문

데이터베이스 닫기

이 명령문은 현재 연결을 닫습니다. 사실 이것은 ECPG의 동의어이다.현재 연결 끊기:

$CLOSE 데이터베이스;                /* 현재 연결을 끊는다 */
EXEC SQL 닫기 데이터베이스;
무료 커서_이름

Informix의 ESQL/C와 비교하여 ECPG 작동 방식의 차이로 인해(즉, 어떤 단계는 순전히 문법 변환이고 어떤 단계는 기본 런타임 라이브러리에 의존하는지) 없음무료 커서_이름ECPG의 진술. 이는 ECPG에서,커서 선언커서 이름을 사용하는 런타임 라이브러리에 대한 함수 호출로 변환되지 않습니다. 즉, ECPG 런타임 라이브러리에는 SQL 커서의 런타임 기록이 없고 PostgreSQL 서버에서만 기록됩니다.

무료 성명_이름

무료 성명_이름는의 동의어입니다.DEALLOCATE PREPARE 명령문_이름.

35.15.3. Informix 호환 SQLDA 설명자 영역

Informix 호환 모드는 다음에 설명된 것과 다른 구조를 지원합니다.섹션 35.7.2. 아래를 참조하세요:

구조체 sqlvar_compat

    짧은 sqltype;
    int sqllen;
    char *sqldata;
    짧은 *sqlind;
    char *sql이름;
    char *sqlformat;
    짧은 SQLitype;
    짧은 SQLilen;
    char *sqlidata;
    int sqlxid;
    char *sqltypename;
    짧은 sqltypelen;
    짧은 sqlownerlen;
    짧은 sqlsourcetype;
    char *sql소유자이름;
    int sqlsourceid;
    char *sqlilo토토 사이트 추천data;
    int sqlflags;
    무효 *sqlreserved;
;

구조체 sqlda_compat

    짧은 sqld;
    struct sqlvar_compat *sqlvar;
    char 설명_이름[19];
    짧은 desc_occ;
    구조체 sqlda_compat *desc_next;
    무효 *예약됨;
;

typedef struct sqlvar_compat sqlvar_t;
typedef struct sqlda_compat sqlda_t;

전역 속성은 다음과 같습니다:

sqld

필드의 수SQLDA설명자.

sqlvar

필드별 속성에 대한 포인터.

desc_name

미사용, 0바이트로 채워짐.

desc_occ

할당된 구조의 크기.

desc_next

결과 세트에 둘 이상의 레코드가 포함된 경우 다음 SQLDA 구조에 대한 포인터.

예약됨

사용되지 않은 포인터, NULL이 포함되어 있습니다. Informix 호환성을 위해 유지됩니다.

필드별 속성은 아래와 같습니다. 해당 속성은 다음에 저장됩니다.sqlvar배열:

sqltype

필드 유형. 상수가 들어있습니다.sqltypes.h

sqllen

필드 데이터의 길이.

sqldata

필드 데이터에 대한 포인터. 포인터는 다음과 같습니다.문자 *유형, 그것이 가리키는 데이터는 바이너리 형식입니다. 예:

int intval;

스위치(sqldata-sqlvar[i].sqltype)

    사례 SQLINTEGER:
        intval = *(int *)sqldata-sqlvar[i].sqldata;
        휴식;
  ...
sqlind

NULL 표시기를 가리키는 포인터. DESCRIBE 또는 FETCH에 의해 반환되면 항상 유효한 포인터입니다. 에 대한 입력으로 사용되는 경우실행 ... sqlda를 사용하여;그러면 NULL 포인터 값은 이 필드의 값이 NULL이 아님을 의미합니다. 그렇지 않으면 유효한 포인터 및sqlitype올바르게 설정되어야 합니다. 예:

if (*(int2 *)sqldata-sqlvar[i].sqlind != 0)
    printf("값은 NULL입니다\n");
sqlname

필드 이름. 0으로 끝나는 문자열입니다.

sqlformat

Informix에 예약됨, 값PQfformat()필드용.

sqlitype

NULL 표시 데이터의 유형. 서버에서 데이터를 반환할 때는 항상 SQLSMINT입니다. 때SQLDA은 매개변수화된 쿼리에 사용되며 데이터는 설정된 유형에 따라 처리됩니다.

sqlilen

NULL 표시 데이터의 길이.

sqlxid

필드의 확장 유형, 결과PQftype().

sqltypename
sqltypelen
sqlownerlen
sqlsourcetype
sqlownername
sqlsourceid
sqlflags
sqlreserved

미사용.

sqlilo토토 사이트 추천data

다음과 같습니다sqldataifsqllen32kB보다 큽니다.

예:

EXEC SQL INCLUDE sqlda.h;

    sqlda_t *sqlda; /* DECLARE SECTION에 포함될 필요는 없습니다 */

    EXEC SQL 시작 선언 섹션;
    char *prep_stmt = "table1에서 * 선택";
    나는 int;
    EXEC SQL END 선언 섹션;

    ...

    EXEC SQL PREPARE mystmt FROM :prep_stmt;

    EXEC SQL DESCRIBE mystmt INTO sqlda;

    printf("필드 수: %d\n", sqlda-sqld);
    for (i = 0; i < sqlda-sqld; i++)
      printf("필드 %d: \"%s\"\n", sqlda-sqlvar[i]-sqlname);

    EXEC SQL DECLARE mycursor CURSOR FOR mystmt;
    EXEC SQL OPEN mycursor;
    발견되지 않은 경우 EXEC SQL이 실행됩니다.

    동안 (1)

      EXEC SQL FETCH mycursor USING sqlda;

    EXEC SQL CLOSE mycursor;

    무료(sqlda); /* 주요 구조는 모두 free()입니다.
                  * sqlda와 sqlda-sqlvar는 하나의 할당 영역에 있음 */

자세한 내용은 다음을 참조하세요.sqlda.h헤더 및src/interfaces/ecpg/test/compat_informix/sqlda.pgc회귀 테스트.

35.15.4. 추가 기능

십년

두 개의 십진수 유형 값을 추가합니다.

int decadd(십진수 *arg1, 십진수 *arg2, 십진수 *sum);

토토 사이트 추천 10진수 유형의 첫 번째 피연산자에 대한 포인터를 받습니다(arg1), 10진수 유형의 두 번째 피연산자에 대한 포인터(arg2) 및 합계를 포함할 10진수 유형의 값에 대한 포인터(). 성공하면 토토 사이트 추천 0을 반환합니다.ECPG_INFORMIX_NUM_OVERFLOW오버플로의 경우 반환되며ECPG_INFORMIX_NUM_UNDERFLOW언더플로의 경우. 다른 실패의 경우 -1이 반환됩니다.errno각각으로 설정됨errnopgtypeslib의 수.

decmp

십진수 유형의 두 변수를 비교하십시오.

int deccmp(십진수 *arg1, 십진수 *arg2);

토토 사이트 추천 첫 번째 소수값에 대한 포인터를 받습니다(arg1), 두 번째 소수 값에 대한 포인터(arg2) 더 큰 값을 나타내는 정수 값을 반환합니다.

  • 1, 해당 값이arg1포인트가 해당 값보다 큽니다.var2다음을 가리킨다

  • -1, 값이 다음과 같은 경우arg1점은 해당 값보다 작습니다.arg2다음을 가리킨다

  • 0, 값이 다음과 같은 경우arg1가리키는 값과arg2포인트가 같음

deccopy

십진수 값을 복사하세요.

void deccopy(십진수 *src, 십진수 *target);

토토 사이트 추천 첫 번째 인수로 복사되어야 하는 십진수 값에 대한 포인터를 받습니다(src) 및 10진수 유형의 대상 구조에 대한 포인터(대상)를 두 번째 인수로 사용합니다.

deccvasc

값을 ASCII 표현에서 십진수 유형으로 변환합니다.

int deccvasc(char *cp, int len, 십진수 *np);

함수는 변환될 숫자의 문자열 표현을 포함하는 문자열에 대한 포인터를 받습니다 (cp) 및 길이len. np은 작업 결과를 저장하는 10진수 값에 대한 포인터입니다.

유효한 형식은 예를 들면 다음과 같습니다:-2, .794, +3.44, 592.49E07또는-32.84e-4.

함수는 성공 시 0을 반환합니다. 오버플로 또는 언더플로가 발생한 경우ECPG_INFORMIX_NUM_OVERFLOW또는ECPG_INFORMIX_NUM_UNDERFLOW반환되었습니다. ASCII 표현을 구문 분석할 수 없는 경우,ECPG_INFORMIX_BAD_NUMERIC반환되거나ECPG_INFORMIX_BAD_EXPONENT지수를 구문 분석하는 동안 이 문제가 발생한 경우.

deccvdbl

Double 유형의 값을 10진수 유형의 값으로 변환합니다.

int deccvdbl(이중 dbl, 십진수 *np);

토토 사이트 추천 첫 번째 인수로 변환되어야 하는 double 유형의 변수를 받습니다(dbl). 두 번째 인수(np), 토토 사이트 추천 연산 결과를 보유해야 하는 10진수 변수에 대한 포인터를 받습니다.

토토 사이트 추천 성공 시 0을 반환하고 변환에 실패하면 음수 값을 반환합니다.

decvint

int 유형의 값을 10진수 유형의 값으로 변환합니다.

int deccvint(int in, 십진수 *np);

토토 사이트 추천 첫 번째 인수로 변환되어야 하는 int 유형의 변수를 받습니다 (in). 두 번째 인수(np), 토토 사이트 추천 연산 결과를 보유해야 하는 10진수 변수에 대한 포인터를 받습니다.

토토 사이트 추천 성공 시 0을 반환하고 변환에 실패하면 음수 값을 반환합니다.

deccvlo토토 사이트 추천

lo토토 사이트 추천 유형의 값을 10진수 유형의 값으로 변환합니다.

int deccvlo토토 사이트 추천(long l토토 사이트 추천, 십진수 *np);

함수는 첫 번째 인수로 변환되어야 하는 lo토토 사이트 추천 유형의 변수를 받습니다(l토토 사이트 추천). 두 번째 인수(np), 토토 사이트 추천 연산 결과를 보유해야 하는 10진수 변수에 대한 포인터를 받습니다.

토토 사이트 추천 성공 시 0을 반환하고 변환에 실패하면 음수 값을 반환합니다.

decdiv

10진수 유형의 두 변수를 나눕니다.

int decdiv(십진수 *n1, 십진수 *n2, 십진수 *결과);

토토 사이트 추천 첫 번째 변수에 대한 포인터를 받습니다(n1) 및 두 번째(n2) 피연산자 및 계산n1/n2. 결과은 작업 결과를 보유해야 하는 변수에 대한 포인터입니다.

성공하면 0이 반환되고 나누기가 실패하면 음수 값이 반환됩니다. 오버플로 또는 언더플로가 발생한 경우 함수는 다음을 반환합니다.ECPG_INFORMIX_NUM_OVERFLOW또는ECPG_INFORMIX_NUM_UNDERFLOW각각. 0으로 나누려는 시도가 관찰되면 함수는 다음을 반환합니다.ECPG_INFORMIX_DIVIDE_ZERO.

decmul

십진수 두 값을 곱합니다.

int decmul(십진수 *n1, 십진수 *n2, 십진수 *결과);

토토 사이트 추천 첫 번째 변수에 대한 포인터를 받습니다(n1) 및 두 번째(n2) 피연산자 및 계산n1*n2. 결과은 작업 결과를 보유해야 하는 변수에 대한 포인터입니다.

성공 시 0이 반환되고, 곱셈이 실패하면 음수 값이 반환됩니다. 오버플로 또는 언더플로가 발생한 경우 함수는 다음을 반환합니다.ECPG_INFORMIX_NUM_OVERFLOW또는ECPG_INFORMIX_NUM_UNDERFLOW각각.

decsub

10진수 값에서 다른 값을 뺍니다.

int decsub(십진수 *n1, 십진수 *n2, 십진수 *결과);

토토 사이트 추천 첫 번째 변수에 대한 포인터를 받습니다(n1) 및 두 번째(n2) 피연산자 및 계산n1-n2. 결과은 작업 결과를 보유해야 하는 변수에 대한 포인터입니다.

성공하면 0이 반환되고 빼기가 실패하면 음수 값이 반환됩니다. 오버플로 또는 언더플로가 발생한 경우 함수는 다음을 반환합니다.ECPG_INFORMIX_NUM_OVERFLOW또는ECPG_INFORMIX_NUM_UNDERFLOW각각.

dectoasc

10진수 유형의 변수를 C char* 문자열의 ASCII 표현으로 변환합니다.

int dectoasc(decimal *np, char *cp, int len, int right)

토토 사이트 추천 10진수 유형의 변수에 대한 포인터를 받습니다(np) 텍스트 표현으로 변환됩니다.cp은 작업 결과를 보관해야 하는 버퍼입니다. 매개변수맞아요은 출력에 소수점 이하 자릿수를 포함해야 하는지를 지정합니다. 결과는 이 소수 자릿수로 반올림됩니다. 설정맞아요to -1은 사용 가능한 모든 십진수가 출력에 포함되어야 함을 나타냅니다. 다음으로 표시되는 출력 버퍼의 길이인 경우len후행 0바이트를 포함하는 텍스트 표현을 보유하기에 충분하지 않습니다. 단 하나의*문자가 결과에 저장되고 -1이 반환됩니다.

토토 사이트 추천 버퍼인 경우 -1을 반환합니다.cp너무 작았거나ECPG_INFORMIX_OUT_OF_MEMORY메모리가 고갈된 경우.

dectodbl

10진수 유형의 변수를 double로 변환합니다.

int dectodbl(십진수 *np, 이중 *dblp);

토토 사이트 추천 변환할 십진수 값에 대한 포인터를 받습니다(np) 및 연산 결과를 보유해야 하는 이중 변수에 대한 포인터(dblp).

성공 시 0이 반환되고 변환이 실패하면 음수 값이 반환됩니다.

디토인트

10진수 유형의 변수를 정수로 변환합니다.

int dectoint(십진수 *np, int *ip);

토토 사이트 추천 변환할 십진수 값에 대한 포인터를 받습니다(np) 및 연산 결과를 보유해야 하는 정수 변수에 대한 포인터(ip).

성공 시 0이 반환되고 변환이 실패하면 음수 값이 반환됩니다. 오버플로가 발생한 경우,ECPG_INFORMIX_NUM_OVERFLOW반환되었습니다.

ECPG 구현은 다음과 다릅니다.인포믹스구현.인포믹스정수를 -32767에서 32767 범위로 제한하는 반면, ECPG 구현의 제한은 아키텍처에 따라 다릅니다. (INT_MIN .. INT_MAX).

덱토롱

10진수 유형의 변수를 긴 정수로 변환합니다.

int dectolong(십진수 *np, long *l토토 사이트 추천p);

토토 사이트 추천 변환할 십진수 값에 대한 포인터를 받습니다 (np) 및 작업 결과를 보유해야 하는 긴 변수에 대한 포인터(l토토 사이트 추천p).

성공 시 0이 반환되고 변환이 실패하면 음수 값이 반환됩니다. 오버플로가 발생한 경우,ECPG_INFORMIX_NUM_OVERFLOW반환되었습니다.

ECPG 구현은 다음과 다릅니다.인포믹스구현.인포믹스긴 정수를 -2,147,483,647에서 2,147,483,647 범위로 제한하지만 ECPG 구현의 제한은 아키텍처에 따라 다릅니다. (-LO토토 사이트 추천_MAX .. LO토토 사이트 추천_MAX).

rdatestr

날짜를 C 문자* 문자열로 변환합니다.

int rdatestr(date d, char *str);

토토 사이트 추천 두 개의 인수를 받습니다. 첫 번째 인수는 변환할 날짜입니다(d) 두 번째는 대상 문자열에 대한 포인터입니다. 출력 형식은 항상yyyy-mm-dd, 따라서 문자열에 최소 11바이트(0바이트 종결자 포함)를 할당해야 합니다.

토토 사이트 추천 성공 시 0을 반환하고 오류 시 음수 값을 반환합니다.

ECPG의 구현은 다음과 다릅니다.인포믹스구현. 에서인포믹스형식은 환경 변수 설정에 따라 영향을 받을 수 있습니다. 그러나 ECPG에서는 출력 형식을 변경할 수 없습니다.

rstrdate

날짜의 텍스트 표현을 분석합니다.

int rstrdate(char *str, 날짜 *d);

토토 사이트 추천 변환할 날짜의 텍스트 표현을 받습니다(str) 및 날짜 유형의 변수에 대한 포인터(d). 이 기능을 사용하면 형식 마스크를 지정할 수 없습니다. 기본 형식 마스크를 사용합니다.인포믹스이것은mm/dd/yyyy. 내부적으로 이 함수는 다음을 통해 구현됩니다.rdefmtdate. 그러므로rstrdate더 빠르지 않으며 선택권이 있다면 선택해야 합니다rdefmtdate형식 마스크를 명시적으로 지정할 수 있습니다.

함수는 다음과 동일한 값을 반환합니다.rdefmtdate.

r오늘

현재 날짜를 가져옵니다.

void rtoday(date *d);

토토 사이트 추천 날짜 변수에 대한 포인터를 받습니다(d) 현재 날짜로 설정됩니다.

내부적으로 이 함수는 다음을 사용합니다.PGTYPESdate_today함수.

rjulmdy

날짜 유형의 변수에서 일, 월, 연도 값을 추출합니다.

int rjulmdy(date d, short mdy[3]);

토토 사이트 추천 날짜를 받습니다.d및 3개의 짧은 정수 값 배열에 대한 포인터mdy. 변수 이름은 순차적 순서를 나타냅니다.mdy[0]월의 숫자를 포함하도록 설정됩니다.mdy[1]일의 값으로 설정되며mdy[2]연도가 포함됩니다.

함수는 현재 항상 0을 반환합니다.

함수는 내부적으로 다음을 사용합니다.PGTYPESdate_julmdy함수.

rdefmtdate

문자열을 날짜 유형의 값으로 변환하려면 형식 마스크를 사용하십시오.

int rdefmtdate(date *d, char *fmt, char *str);

함수는 작업 결과를 보유해야 하는 날짜 값에 대한 포인터를 받습니다(d), 날짜 구문 분석에 사용할 형식 마스크(fmt) 및 날짜의 텍스트 표현을 포함하는 C char* 문자열(str). 텍스트 표현은 형식 마스크와 일치해야 합니다. 그러나 문자열을 형식 마스크에 1:1로 매핑할 필요는 없습니다. 이 함수는 순차 순서만 분석하고 리터럴을 찾습니다.yy또는yyyy연도의 위치를 나타냅니다.mm월의 위치를 표시하고dd오늘의 위치를 나타냅니다.

함수는 다음 값을 반환합니다:

  • 0 - 함수가 성공적으로 종료되었습니다.

  • ECPG_INFORMIX_ENOSHORTDATE- 날짜에는 일, 월, 연도 사이의 구분 기호가 포함되어 있지 않습니다. 이 경우 입력 문자열의 길이는 정확히 6바이트 또는 8바이트여야 하지만 그렇지 않습니다.

  • ECPG_INFORMIX_ENOTDMY- 형식 문자열이 연도, 월, 일의 순차적 순서를 올바르게 표시하지 않았습니다.

  • ECPG_INFORMIX_BAD_DAY- 입력 문자열에 유효한 날짜가 포함되어 있지 않습니다.

  • ECPG_INFORMIX_BAD_MONTH- 입력 문자열에 유효한 월이 포함되어 있지 않습니다.

  • ECPG_INFORMIX_BAD_YEAR- 입력 문자열에 유효한 연도가 포함되어 있지 않습니다.

내부적으로 이 함수는 다음을 사용하도록 구현되었습니다.PGTYPESdate_defmt_asc함수. 예제 입력 표는 해당 참조를 참조하세요.

rfmtdate

형식 마스크를 사용하여 날짜 유형의 변수를 텍스트 표현으로 변환합니다.

int rfmtdate(date d, char *fmt, char *str);

토토 사이트 추천 변환할 날짜를 받습니다 (d), 형식 마스크(fmt) 및 날짜의 텍스트 표현을 보유할 문자열(str).

성공 시 0이 반환되고 오류가 발생하면 음수 값이 반환됩니다.

내부적으로 이 함수는 다음을 사용합니다.PGTYPESdate_fmt_asc함수, 예제는 해당 참조를 참조하세요.

rmdyjul

날짜의 일, 월, 연도를 지정하는 3개의 짧은 정수 배열에서 날짜 값을 생성하십시오.

int rmdyjul(short mdy[3], 날짜 *d);

토토 사이트 추천 3개의 짧은 정수 배열을 받습니다(mdy) 및 작업 결과를 보유해야 하는 날짜 유형의 변수에 대한 포인터입니다.

현재 함수는 항상 0을 반환합니다.

함수를 사용하기 위해 내부적으로 함수가 구현되어 있습니다PGTYPESdate_mdyjul.

rdayofweek

날짜 값에 대한 요일을 나타내는 숫자를 반환합니다.

int rdayofweek(날짜 d);

토토 사이트 추천 날짜 변수를 받습니다.d유일한 인수로 사용되며 이 날짜의 요일을 나타내는 정수를 반환합니다.

  • 0 - 일요일

  • 1 - 월요일

  • 2 - 화요일

  • 3 - 수요일

  • 4 - 목요일

  • 5 - 금요일

  • 6 - 토요일

함수를 사용하기 위해 내부적으로 함수가 구현되어 있습니다PGTYPESdate_dayofweek.

dtcurrent

현재 타임스탬프를 검색하세요.

void dtcurrent(timestamp *ts);

함수는 현재 타임스탬프를 검색하고 이를 타임스탬프 변수에 저장합니다.ts다음을 가리킨다.

dtcvasc

타임스탬프를 텍스트 표현에서 타임스탬프 변수로 구문 분석합니다.

int dtcvasc(char *str, 타임스탬프 *ts);

토토 사이트 추천 구문 분석할 문자열을 받습니다(str) 및 작업 결과를 보유해야 하는 타임스탬프 변수에 대한 포인터(ts).

이 토토 사이트 추천 성공 시 0을 반환하고 오류 시 음수 값을 반환합니다.

내부적으로 이 함수는 다음을 사용합니다.PGTYPEStimestamp_from_asc함수. 예제 입력이 포함된 표는 해당 참조를 참조하세요.

dtcvfmtasc

형식 마스크를 사용하여 텍스트 표현에서 타임스탬프를 타임스탬프 변수로 구문 분석합니다.

dtcvfmtasc(char *inbuf, char *fmtstr, 타임스탬프 *dtvalue)

토토 사이트 추천 구문 분석할 문자열을 받습니다(inbuf), 사용할 형식 마스크(fmtstr) 및 작업 결과를 보유해야 하는 타임스탬프 변수에 대한 포인터(dt값).

이 기능은 다음을 통해 구현됩니다.PGTYPEStimestamp_defmt_asc함수. 사용할 수 있는 형식 지정자 목록은 해당 문서를 참조하세요.

토토 사이트 추천 성공 시 0을 반환하고 오류 시 음수 값을 반환합니다.

dtsub

하나의 타임스탬프를 다른 타임스탬프에서 빼고 간격 유형의 변수를 반환합니다.

int dtsub(타임스탬프 *ts1, 타임스탬프 *ts2, 간격 *iv);

토토 사이트 추천 타임스탬프 변수를 뺄 것입니다.ts2다음 타임스탬프 변수를 가리킵니다.ts1다음 간격 변수에 결과를 가리키고 저장합니다iv다음을 가리킨다.

성공하면 토토 사이트 추천 0을 반환하고 오류가 발생하면 음수 값을 반환합니다.

dttoasc

타임스탬프 변수를 C char* 문자열로 변환합니다.

int dttoasc(timestamp *ts, char *output);

토토 사이트 추천 변환할 타임스탬프 변수에 대한 포인터를 받습니다(ts) 및 작업 결과를 보유해야 하는 문자열(출력). 변환합니다tsSQL 표준에 따른 텍스트 표현으로, 이는 다음과 같습니다.YYYY-MM-DD HH:MM:SS.

성공하면 토토 사이트 추천 0을 반환하고 오류가 발생하면 음수 값을 반환합니다.

dttofmtasc

형식 마스크를 사용하여 타임스탬프 변수를 C 문자*로 변환합니다.

int dttofmtasc(timestamp *ts, char *output, int str_len, char *fmtstr);

토토 사이트 추천 첫 번째 인수로 변환할 타임스탬프에 대한 포인터를 받습니다(ts), 출력 버퍼에 대한 포인터(출력), 출력 버퍼에 할당된 최대 길이(str_len) 및 변환에 사용할 형식 마스크(fmtstr).

성공하면 토토 사이트 추천 0을 반환하고 오류가 발생하면 음수 값을 반환합니다.

내부적으로 이 함수는 다음을 사용합니다.PGTYPEStimestamp_fmt_asc함수. 어떤 형식 마스크 지정자를 사용할 수 있는지에 대한 자세한 내용은 해당 참조를 참조하세요.

intoas

간격 변수를 C char* 문자열로 변환합니다.

int intoasc(간격 *i, char *str);

토토 사이트 추천 변환할 간격 변수에 대한 포인터를 받습니다(i) 및 작업 결과를 보유해야 하는 문자열(str). 변환합니다iSQL 표준에 따른 텍스트 표현으로, 이는 다음과 같습니다.YYYY-MM-DD HH:MM:SS.

성공하면 토토 사이트 추천 0을 반환하고 오류가 발생하면 음수 값을 반환합니다.

rfmtlong

형식 마스크를 사용하여 긴 정수 값을 텍스트 표현으로 변환합니다.

int rfmtlong(long l토토 사이트 추천_val, char *fmt, char *outbuf);

토토 사이트 추천 긴 값을 받습니다.l토토 사이트 추천_val, 형식 마스크fmt및 출력 버퍼에 대한 포인터아웃버프. 형식 마스크에 따라 긴 값을 텍스트 표현으로 변환합니다.

형식 마스크는 문자를 지정하는 다음 형식으로 구성될 수 있습니다:

  • *(별표) - 이 위치가 비어 있으면 별표로 채우십시오.

  • &(앰퍼샌드) - 이 위치가 비어 있으면 0으로 채웁니다.

  • #- 선행 0을 공백으로 바꿉니다.

  • <- 문자열의 숫자를 왼쪽 정렬합니다.

  • ,(쉼표) - 4자리 이상의 숫자를 쉼표로 구분된 3자리 그룹으로 그룹화합니다.

  • .(마침표) - 이 문자는 숫자의 정수 부분과 소수 부분을 구분합니다.

  • -(빼기) - 숫자가 음수이면 빼기 기호가 나타납니다.

  • +(더하기) - 숫자가 양수이면 더하기 기호가 나타납니다.

  • (- 음수 앞의 빼기 기호를 대체합니다. 빼기 기호는 나타나지 않습니다.

  • )- 이 문자는 빼기를 대체하고 음수 값 뒤에 인쇄됩니다.

  • $- 통화 기호.

rupshift

문자열을 대문자로 변환합니다.

void rupshift(char *str);

토토 사이트 추천 문자열에 대한 포인터를 수신하고 모든 소문자를 대문자로 변환합니다.

byleng

후행 공백을 계산하지 않고 문자열의 문자 수를 반환합니다.

int byleng(char *str, int len);

토토 사이트 추천 첫 번째 인수로 고정 길이 문자열을 기대합니다 (str) 및 두 번째 인수로서의 길이(len). 유효 문자 수, 즉 후행 공백이 없는 문자열 길이를 반환합니다.

ldchar

고정 길이 문자열을 Null 종료 문자열로 복사합니다.

void ldchar(char *src, int len, char *dest);

토토 사이트 추천 복사할 고정 길이 문자열을 받습니다(src), 길이(len) 및 대상 메모리에 대한 포인터(대상). 최소한 예약이 필요합니다.len+1문자열에 대한 바이트대상을 가리킵니다. 토토 사이트 추천 최대로 복사합니다.len바이트를 새 위치로 복사하고(소스 문자열에 후행 공백이 있는 경우에는 적음) null 종결자를 추가합니다.

rgetmsg
int rgetmsg(int msgnum, char *s, int maxsize);

이 기능은 존재하지만 현재 구현되지 않았습니다!

rtyalign
int rtypalign(int 오프셋, int 유형);

이 기능은 존재하지만 현재 구현되지 않았습니다!

rtypmsize
int rtypmsize(int 유형, int len);

이 기능은 존재하지만 현재 구현되지 않았습니다!

rtyp폭
int rtypwidth(int sqltype, int sqllen);

이 기능은 존재하지만 현재 구현되지 않았습니다!

rsetnull

변수를 NULL로 설정하십시오.

int rsetnull(int t, char *ptr);

토토 사이트 추천 변수의 유형을 나타내는 정수와 C char* 포인터로 캐스팅된 변수 자체에 대한 포인터를 받습니다.

다음 유형이 존재합니다:

  • CCHARTYPE- 변수 유형의 경우문자또는문자*

  • CSHORTTYPE- 유형의 변수의 경우짧은 정수

  • CINTTYPE- 유형의 변수의 경우int

  • CBOOLTYPE- 유형의 변수의 경우부울

  • CFLOATTYPE- 유형의 변수의 경우플로트

  • CLO토토 사이트 추천TYPE- 변수 유형의 경우

  • CDOUBLETYPE- 변수 유형의 경우더블

  • CDECIMALTYPE- 유형의 변수의 경우십진수

  • CDATETYPE- 유형의 변수의 경우날짜

  • CDTIMETYPE- 변수 유형의 경우타임스탬프

다음은 이 함수 호출의 예입니다:

$char c[] = "abc ";
$short s = 17;
$int i = -74874;

rsetnull(CCHARTYPE, (char *) c);
rsetnull(CSHORTTYPE, (char *) &s);
rsetnull(CINTTYPE, (char *) &i);
risnull

변수가 NULL인지 테스트합니다.

int risnull(int t, char *ptr);

토토 사이트 추천 테스트할 변수의 유형을 받습니다 (t) 및 이 변수에 대한 포인터(ptr). 후자는 char*로 캐스팅되어야 합니다. 기능 보기rsetnull가능한 변수 유형 목록을 보려면.

다음은 이 기능을 사용하는 방법의 예입니다:

$char c[] = "abc ";
$short s = 17;
$int i = -74874;

risnull(CCHARTYPE, (char *) c);
risnull(CSHORTTYPE, (char *) &s);
risnull(CINTTYPE, (char *) &i);

35.15.5. 추가 상수

여기의 모든 상수는 오류를 설명하며 모두 음수 값을 나타내도록 정의되어 있습니다. 다양한 상수에 대한 설명에서 현재 구현에서 상수가 나타내는 값을 찾을 수도 있습니다. 그러나 이 숫자에 의존해서는 안 됩니다. 그러나 이들 모두가 음수 값을 나타내도록 정의되어 있다는 사실을 신뢰할 수 있습니다.

ECPG_INFORMIX_NUM_OVERFLOW

계산에서 오버플로가 발생한 경우 함수는 이 값을 반환합니다. 내부적으로는 -1200으로 정의됩니다(인포믹스정의).

ECPG_INFORMIX_NUM_UNDERFLOW

계산에서 언더플로가 발생한 경우 토토 사이트 추천 이 값을 반환합니다. 내부적으로는 -1201(인포믹스정의).

ECPG_INFORMIX_DIVIDE_ZERO

0으로 나누려는 시도가 관찰되면 토토 사이트 추천 이 값을 반환합니다. 내부적으로는 -1202(인포믹스정의).

ECPG_INFORMIX_BAD_YEAR

날짜를 구문 분석하는 동안 잘못된 연도 값이 발견된 경우 함수는 이 값을 반환합니다. 내부적으로는 -1204(인포믹스정의).

ECPG_INFORMIX_BAD_MONTH

날짜를 구문 분석하는 동안 한 달 동안 잘못된 값이 발견된 경우 함수는 이 값을 반환합니다. 내부적으로는 -1205(인포믹스정의).

ECPG_INFORMIX_BAD_DAY

날짜를 구문 분석하는 동안 잘못된 날짜 값이 발견되면 함수는 이 값을 반환합니다. 내부적으로는 -1206(인포믹스정의).

ECPG_INFORMIX_ENOSHORTDATE

분석 루틴에 짧은 날짜 표현이 필요하지만 올바른 길이의 날짜 문자열을 가져오지 못한 경우 함수는 이 값을 반환합니다. 내부적으로는 -1209(인포믹스정의).

ECPG_INFORMIX_DATE_CONVERT

날짜 형식 지정 중 오류가 발생한 경우 함수는 이 값을 반환합니다. 내부적으로는 -1210(인포믹스정의).

ECPG_INFORMIX_OUT_OF_MEMORY

토토 사이트 추천 작업 중 메모리가 고갈된 경우 이 값을 반환합니다. 내부적으로는 -1211(인포믹스정의).

ECPG_INFORMIX_ENOTDMY

분석 루틴이 형식 마스크(예:를 가져오도록 되어 있는 경우 함수는 이 값을 반환합니다.mmddyy) 그러나 모든 필드가 올바르게 나열되지는 않았습니다. 내부적으로는 -1212(인포믹스정의).

ECPG_INFORMIX_BAD_NUMERIC

분석 루틴이 오류가 포함되어 숫자 값에 대한 텍스트 표현을 구문 분석할 수 없거나 숫자 변수 중 하나 이상이 잘못되어 루틴이 숫자 변수와 관련된 계산을 완료할 수 없는 경우 함수는 이 값을 반환합니다. 내부적으로는 -1213(인포믹스정의).

ECPG_INFORMIX_BAD_EXPONENT

분석 루틴이 지수를 분석할 수 없는 경우 토토 사이트 추천 이 값을 반환합니다. 내부적으로는 -1216(인포믹스정의).

ECPG_INFORMIX_BAD_DATE

분석 루틴이 날짜를 구문 분석할 수 없는 경우 함수는 이 값을 반환합니다. 내부적으로는 -1218(인포믹스정의).

ECPG_INFORMIX_EXTRA_CHARS

분석 루틴에 분석할 수 없는 추가 문자가 전달되면 함수는 이 값을 반환합니다. 내부적으로는 -1264(인포믹스정의).