ECPG
Có thể chạy trong cái gọi là11473_11502. Nếu chế độ này hoạt động, nó sẽ cố gắng hành xử như thể đó làInformixPrecompiler choInformix11667_11752EXEC SQL
nguyên thủy để giới thiệu các lệnh SQL nhúng:
$ int j = 3; $ Kết nối với: dbname; $ Tạo bảng kiểm tra (i int chính, j int); $ Chèn vào các giá trị kiểm tra (i, j) (7,: j); $ Cam kết;
Không được có bất kỳ khoảng trắng nào giữa$
và kèo bóng đá euro chỉ thị tiền xử lý sau, nghĩa là,Bao gồm
, xác định
, IFDEF
, v.v.
Có hai chế độ kèo bóng đá euro:Informix
, Informix_SE
Khi liên kết các chương trình sử dụng chế độ kèo bóng đá euro này, hãy nhớ liên kết vớilibcompat
12636_12665
Bên cạnh đường cú pháp được giải thích trước đó,Informix12768_12916
InformixChế độ tương thích được kết nối chặt chẽ với thư viện pgtypeslib kèo bóng đá euro ECPG. pgtypeslib Bản đồ các loại dữ liệu SQL sang các loại dữ liệu trong chương trình máy chủ C và hầu hết các chức năng bổ sung kèo bóng đá euroInformixChế độ kèo bóng đá euro cho phép bạn hoạt động trên các loại chương trình máy chủ C đó. Tuy nhiên, lưu ý rằng mức độ kèo bóng đá euro bị hạn chế. Nó không cố gắng sao chépInformixHành vi; Nó cho phép bạn thực hiện nhiều hơn hoặc ít hơn các hoạt động và cung cấp cho bạn các chức năng có cùng tên và cùng kèo bóng đá euro hành vi cơ bản nhưng nó không thay thế nếu bạn đang sử dụngInformixHiện tại. Hơn nữa, kèo bóng đá euro số loại dữ liệu là khác nhau. Ví dụ,PostgreSQL'sCác loại DateTime và Intercal không biết về các phạm vi như ví dụnăm này sang phút khác
Vì vậy, bạn sẽ không tìm thấy hỗ trợ trong ECPG cho điều đó.
14130_14270typedef
. Trên thực tế, trong chế độ Informix, ECPG từ chối xử lý các tệp nguồn có chứaTypedef chuỗi đôi;
EXEC SQL bắt đầu phần khai báo; chuỗi userid; / * Biến này sẽ chứa dữ liệu được cắt */ EXEC SQL END TUYÊN BỐ TUYÊN BỐ; EXEC SQL tìm nạp mycur vào: userid;
Đóng cơ sở dữ liệu
Câu lệnh này đóng kết nối hiện tại. Trên thực tế, đây là kèo bóng đá euro từ đồng nghĩa với ECPG'sNgắt kết nối hiện tại
:
$ đóng cơ sở dữ liệu; / * Đóng kết nối hiện tại */ EXEC SQL Đóng cơ sở dữ liệu;
con trỏ miễn phí_name
Do sự khác biệt về cách thức hoạt động kèo bóng đá euro ECPG so với ESQL/C kèo bóng đá euro Informix (tức là, các bước hoàn toàn là các phép biến đổi ngữ pháp và các bước dựa trên thư viện thời gian chạy cơ bản) không cócon trỏ miễn phí_name
Câu lệnh trong ECPG. Điều này là do trong ECPG,Tuyên bố con trỏ
Không dịch thành kèo bóng đá euro cuộc gọi chức năng vào thư viện thời gian chạy sử dụng tên con trỏ. Điều này có nghĩa là không có sổ sách thủ công thời gian chạy của con trỏ SQL trong thư viện thời gian chạy ECPG, chỉ trong máy chủ PostgreSQL.
Tuyên bố miễn phí_name
Tuyên bố miễn phí_name
là từ đồng nghĩa với16230_16265
.
Chế độ tương thích Informix hỗ trợ kèo bóng đá euro cấu trúc khác với cấu trúc được mô tả trongPhần 35.7.2. Xem bên dưới:
struct sqlvar_compat SQLTYPE ngắn; int sqllen; char *sqldata; ngắn *sqlind; char *sqlname; char *sqlformat; SQLitype ngắn; SQLILEN ngắn; char *sqlidata; int sqlxid; char *sqltypename; SQLTYPELEN ngắn; SQLOWNerlen ngắn; SQLSourCetype ngắn; char *sqlownername; int SQLSourceId; char *sqlilongdata; int sqlflags; void *sqlreserved; ; Struct sqlda_compat SQLD ngắn; struct sqlvar_compat *sqlvar; char desc_name [19]; Desc_occ ngắn; struct sqlda_compat *desc_next; khoảng trống *bảo lưu; ; typedef struct sqlvar_compat sqlvar_t; typedef struct sqlda_compat sqlda_t;
Các thuộc tính toàn cầu là:
SQLD
Số lượng trường trongSQLDA
Mô tả.
SQLVAR
Con trỏ tới các thuộc tính trên mỗi trường.
desc_name
Không được sử dụng, chứa đầy byte không.
desc_occ
Kích thước kèo bóng đá euro cấu trúc được phân bổ.
desc_next
Con trỏ đến cấu trúc SQLDA tiếp theo nếu tập kết quả chứa nhiều hơn kèo bóng đá euro bản ghi.
dành riêng
Con trỏ không sử dụng, chứa null. Được giữ để kèo bóng đá euro thông tin.
Các thuộc tính trên trường ở bên dưới, chúng được lưu trữ trongSQLVAR
mảng:
SQLTYPE
loại trường. Hằng số ở trongsqltypes.h
sqllen
Độ dài kèo bóng đá euro dữ liệu trường.
sqldata
Con trỏ tới dữ liệu trường. Con trỏ là kèo bóng đá eurochar *
Loại, dữ liệu được trỏ bởi nó ở định dạng nhị kèo bóng đá euro. Ví dụ:
int intval; Switch (sqldata- sqlvar [i] .sqltype) trường hợp sqlinteger: intval = *(int *) sqldata- sqlvar [i] .sqldata; phá vỡ; ...
sqlind
Con trỏ tới chỉ báo null. Nếu được trả lại bằng cách mô tả hoặc tìm nạp thì nó luôn luôn là kèo bóng đá euro con trỏ hợp lệ. Nếu được sử dụng làm đầu vào choThực thi ... Sử dụng SQLDA;
20024_20130sqlitype
phải được đặt đúng. Ví dụ:
if ( *(int2 *) sqldata- sqlvar [i] .sqlind! = 0) printf ("Giá trị là null \ n");
sqlname
Tên kèo bóng đá euro trường. Chuỗi kết thúc 0.
SQLformat
Được bảo lưu trong Informix, giá trị kèo bóng đá europqfformat ()
cho trường.
SQLITYPE
Loại dữ liệu chỉ báo null. Nó luôn luôn là sqlsmint khi trả lại dữ liệu từ máy chủ. KhiSQLDA
được sử dụng cho truy vấn được tham số hóa, dữ liệu được xử lý theo loại tập hợp.
Sqlilen
Độ dài kèo bóng đá euro dữ liệu chỉ báo null.
SQLXID
21326_21366pqfttype ()
.
sqltypename
SQLTYPELEN
SQLOWNERLEN
SQLSourCetype
SQLOWNENAME
SQLSourceID
SQLFlags
sqlreserved
không sử dụng.
SQLILONGDATA
Nó bằng vớisqldata
nếusqllen
lớn hơn 32kb.
Ví dụ:
22376_23238
Để biết thêm thông tin, xemsqlda.h
tiêu đề vàsrc/giao diện/ecpg/test/compat_informix/sqlda.pgc
Kiểm tra hồi quy.
decadd
Thêm hai giá trị loại thập kèo bóng đá euro.
int decadd (thập kèo bóng đá euro *arg1, thập kèo bóng đá euro *arg2, thập kèo bóng đá euro *sum);
23965_24037arg1
), kèo bóng đá euro con trỏ tới toán hạng thứ hai của loại thập phân (arg2
) và kèo bóng đá euro con trỏ tới giá trị của số thập phân sẽ chứa tổng (Sum
). Khi thành công, chức năng trả về 0.ECPG_INFORMIX_NUM_OVERFLOW
được trả về trong trường hợp tràn vàECPG_INFORMIX_NUM_UNDERFLOW
Trong trường hợp dòng chảy. -1 được trả về cho các lỗi khác vàerrno
được đặt thành tương ứngerrno
Số lượng pgtypeslib.
DECCMP
So sánh hai biến số thập kèo bóng đá euro.
int deccmp (thập kèo bóng đá euro *arg1, thập kèo bóng đá euro *arg2);
Hàm nhận được kèo bóng đá euro con trỏ tới giá trị thập phân đầu tiên (arg1
), kèo bóng đá euro con trỏ tới giá trị thập phân thứ hai (arg2
) và trả về giá trị số nguyên cho biết giá trị lớn hơn.
1, nếu giá trị đóarg1
Điểm lớn hơn giá trịvar2
điểm đến
-1, nếu giá trị đóarg1
Điểm nhỏ hơn giá trịarg2
điểm đến
25728_25751arg1
Điểm và giá trị đóarg2
điểm là bằng nhau
Deccopy
Sao chép giá trị thập kèo bóng đá euro.
void deccopy (thập kèo bóng đá euro *src, thập kèo bóng đá euro *mục tiêu);
Hàm nhận được kèo bóng đá euro con trỏ tới giá trị thập phân cần được sao chép dưới dạng đối số đầu tiên (SRC
) và kèo bóng đá euro con trỏ tới cấu trúc đích của loại thập phân (Target
) là đối số thứ hai.
DECCVASC
Chuyển đổi giá trị từ biểu diễn ASCII kèo bóng đá euro nó thành loại thập phân.
int deccvasc (char *cp, int len, thập kèo bóng đá euro *np);
Hàm nhận được kèo bóng đá euro con trỏ đến chuỗi chứa biểu diễn chuỗi của số sẽ được chuyển đổi (CP
) cũng như độ dài kèo bóng đá euro nólen
. NP
là kèo bóng đá euro con trỏ tới giá trị thập phân giúp tiết kiệm kết quả của hoạt động.
Định dạng hợp lệ là ví dụ:-2
, .794
, +3.44
, 592.49E07
hoặc-32.84E-4
.
Hàm trả về 0 khi thành công. Nếu tràn hoặc dòng chảy xảy ra,ECPG_INFORMIX_NUM_OVERFLOW
hoặcECPG_INFORMIX_NUM_UNDERFLOW
được trả về. Nếu đại diện ASCII không thể được kèo bóng đá euro tích cú pháp,ECPG_Informix_Bad_Numeric
được trả về hoặcECPG_Informix_Bad_Exponent
Nếu vấn đề này xảy ra trong khi kèo bóng đá euro tích số mũ.
DECCVDBL
Chuyển đổi giá trị loại kép thành giá trị kèo bóng đá euro số thập phân.
int deccvdbl (Double dbl, thập kèo bóng đá euro *np);
Hàm nhận được biến kèo bóng đá euro loại đôi nên được chuyển đổi dưới dạng đối số đầu tiên kèo bóng đá euro nó (DBL
). Là đối số thứ hai (NP
), hàm nhận được kèo bóng đá euro con trỏ tới biến số thập phân sẽ giữ kết quả của hoạt động.
Hàm trả về 0 khi thành công và giá trị âm nếu chuyển đổi không thành công.
28444_28454
Chuyển đổi giá trị kèo bóng đá euro loại int thành giá trị kèo bóng đá euro loại thập phân.
int deccvint (int in, decimal *np);
Hàm nhận được biến kèo bóng đá euro loại int nên được chuyển đổi dưới dạng đối số đầu tiên kèo bóng đá euro nó (in
). Là đối số thứ hai (NP
), hàm nhận được kèo bóng đá euro con trỏ tới biến số thập phân sẽ giữ kết quả của hoạt động.
Hàm trả về 0 khi thành công và giá trị âm nếu chuyển đổi không thành công.
Deccvlong
Chuyển đổi giá trị kèo bóng đá euro loại dài thành giá trị kèo bóng đá euro số thập phân.
int deccvlong (lng dài, thập kèo bóng đá euro *np);
Hàm nhận được biến kèo bóng đá euro loại dài nên được chuyển đổi dưới dạng đối số đầu tiên kèo bóng đá euro nó (LNG
). Là đối số thứ hai (NP
), hàm nhận được kèo bóng đá euro con trỏ tới biến số thập phân sẽ giữ kết quả của hoạt động.
Hàm trả về 0 khi thành công và giá trị âm nếu chuyển đổi không thành công.
DECDIV
chia hai biến số thập kèo bóng đá euro.
int decdiv (thập kèo bóng đá euro *n1, thập kèo bóng đá euro *n2, số thập kèo bóng đá euro *result);
Hàm nhận được con trỏ đến các biến là đầu tiên (N1
) và lần thứ hai (N2
) Toán tử và tính toánN1
/N2
. result
là kèo bóng đá euro con trỏ tới biến sẽ giữ kết quả của hoạt động.
Khi thành công, 0 được trả về và giá trị âm nếu bộ phận thất bại. Nếu xảy ra tràn hoặc dòng chảy, chức năng trả vềECPG_INFORMIX_NUM_OVERFLOW
hoặcECPG_INFORMIX_NUM_UNDERFLOW
tương ứng. Nếu kèo bóng đá euro nỗ lực chia cho 0 được quan sát, hàm sẽ trả vềECPG_INFORMIX_DIVIDE_ZERO
.
Decmul
Nhân hai giá trị thập kèo bóng đá euro.
int decmul (thập kèo bóng đá euro *n1, thập kèo bóng đá euro *n2, số thập kèo bóng đá euro *result);
Hàm nhận được con trỏ đến các biến là đầu tiên (N1
) và lần thứ hai (N2
) Toán tử và tính toánN1
*N2
. result
là kèo bóng đá euro con trỏ tới biến sẽ giữ kết quả của hoạt động.
Khi thành công, 0 được trả về và giá trị âm nếu phép nhân không thành công. Nếu xảy ra tràn hoặc dòng chảy, chức năng trả vềECPG_INFORMIX_NUM_OVERFLOW
hoặcECPG_INFORMIX_NUM_UNDERFLOW
DECSUB
Trừ kèo bóng đá euro giá trị thập phân từ khác.
int decsub (thập kèo bóng đá euro *n1, thập kèo bóng đá euro *n2, số thập kèo bóng đá euro *result);
Hàm nhận được con trỏ đến các biến là đầu tiên (N1
) và lần thứ hai (N2
) Toán tử và tính toánN1
-N2
. result
là kèo bóng đá euro con trỏ tới biến sẽ giữ kết quả của hoạt động.
Khi thành công, 0 được trả về và giá trị âm nếu phép trừ không thành công. Nếu xảy ra tràn hoặc dòng chảy, chức năng trả vềECPG_INFORMIX_NUM_OVERFLOW
hoặcECPG_INFORMIX_NUM_UNDERFLOW
Dectoasc
Chuyển đổi kèo bóng đá euro biến số thập phân thành biểu diễn ASCII của nó trong chuỗi c char* chuỗi.
int Dectoasc (thập kèo bóng đá euro *np, char *cp, int len, int right)
Hàm nhận được kèo bóng đá euro con trỏ tới kèo bóng đá euro biến số thập phân (NP
) mà nó chuyển đổi thành biểu diễn văn bản kèo bóng đá euro nó.CP
là bộ đệm sẽ giữ kết quả kèo bóng đá euro hoạt động. Tham sốphải
Chỉ định, có bao nhiêu chữ số bên phải kèo bóng đá euro điểm thập phân nên được đưa vào đầu ra. Kết quả sẽ được làm tròn đến số chữ số thập phân này. Cài đặtphải
đến -1 chỉ ra rằng tất cả các chữ số thập phân có sẵn phải được đưa vào đầu ra. Nếu độ dài kèo bóng đá euro bộ đệm đầu ra, được biểu thị bằnglen
không đủ để giữ biểu diễn văn bản bao gồm cả byte theo dõi, chỉ kèo bóng đá euro*
ký tự được lưu trữ trong kết quả và -1 được trả về.
Hàm trả về -1 nếu bộ đệmCP
quá nhỏ hoặcECPG_INFORMIX_OUT_OF_MEMORY
Nếu bộ nhớ đã cạn kiệt.
DECTODBL
Chuyển đổi kèo bóng đá euro biến số thập phân thành Double.
int Dectodbl (thập kèo bóng đá euro *np, double *dblp);
Hàm nhận được kèo bóng đá euro con trỏ tới giá trị thập phân để chuyển đổi (NP
34239_34326DBLP
).
34377_34451
Dectoint
Chuyển đổi kèo bóng đá euro biến số thập phân thành số nguyên.
int Dectoint (thập kèo bóng đá euro *np, int *ip);
Hàm nhận được kèo bóng đá euro con trỏ tới giá trị thập phân để chuyển đổi (NP
) và kèo bóng đá euro con trỏ tới biến số nguyên sẽ giữ kết quả của hoạt động (IP
).
Khi thành công, 0 được trả về và giá trị âm nếu chuyển đổi không thành công. Nếu xảy ra tràn,ECPG_INFORMIX_NUM_OVERFLOW
được trả về.
Lưu ý rằng việc triển khai ECPG khác vớiInformixTriển khai.Informixgiới hạn số nguyên ở phạm vi từ -32767 đến 32767, trong khi các giới hạn trong triển khai ECPG phụ thuộc vào kiến trúc (int_min .. int_max
).
Dectolong
Chuyển đổi kèo bóng đá euro biến số thập phân thành số nguyên dài.
int Dectolong (thập kèo bóng đá euro *np, dài *lngp);
Hàm nhận được kèo bóng đá euro con trỏ tới giá trị thập phân để chuyển đổi (NP
) và kèo bóng đá euro con trỏ tới biến dài sẽ giữ kết quả của hoạt động (lngp
).
35972_36072ECPG_INFORMIX_NUM_OVERFLOW
được trả về.
Lưu ý rằng việc triển khai ECPG khác vớiInformixTriển khai.Informixgiới hạn số nguyên dài đến phạm vi từ -2,147,483,647 đến 2.147.483.647, trong khi các giới hạn trong triển khai ECPG phụ thuộc vào kiến trúc (-Long_Max .. Long_Max
).
RDATEST
Chuyển đổi kèo bóng đá euro ngày thành chuỗi c char*.
int rdatestr (ngày d, char *str);
Hàm nhận được hai đối số, lần đầu tiên là ngày để chuyển đổi (D
) và cái thứ hai là kèo bóng đá euro con trỏ tới chuỗi đích. Định dạng đầu ra luôn luônYYYY-MM-DD
, vì vậy bạn cần kèo bóng đá euro bổ ít nhất 11 byte (bao gồm cả Terminator không byte) cho chuỗi.
Hàm trả về 0 khi thành công và giá trị âm trong trường hợp lỗi.
Lưu ý rằng việc triển khai kèo bóng đá euro ECPG khác vớiInformixThực hiện. TRONGInformixĐịnh dạng có thể bị ảnh hưởng bởi việc thiết lập các biến môi trường. Tuy nhiên, trong ECPG, bạn không thể thay đổi định dạng đầu ra.
rstrdate
phân tích biểu diễn văn bản của kèo bóng đá euro ngày.
int rstrdate (char *str, ngày *d);
Hàm nhận được biểu diễn văn bản kèo bóng đá euro ngày để chuyển đổi (str
) và kèo bóng đá euro con trỏ tới kèo bóng đá euro biến của loại ngày (D
). Hàm này không cho phép bạn chỉ định mặt nạ định dạng. Nó sử dụng mặt nạ định dạng mặc định kèo bóng đá euroInformixđó làmm/dd/yyyy
. Trong nội bộ, chức năng này được thực hiện bằng phương tiệnrdefmtdate
. Vì thế,rstrdate
không nhanh hơn và nếu bạn có lựa chọn, bạn nên chọn chordefmtdate
cho phép bạn chỉ định mặt nạ định dạng rõ ràng.
Hàm trả về các giá trị giống nhưrdefmtdate
.
rtoday
Nhận ngày hiện tại.
void rtoday (ngày *d);
Hàm nhận được kèo bóng đá euro con trỏ tới biến ngày (D
) rằng nó đặt thành ngày hiện tại.
Nội bộ chức năng này sử dụngpgtypesdate_today
chức năng.
rjulmdy
Trích xuất các giá trị cho ngày, tháng và năm từ kèo bóng đá euro biến của loại ngày.
int rjulmdy (ngày d, ngắn mdy [3]);
39305_39338D
và kèo bóng đá euro con trỏ tới kèo bóng đá euro mảng gồm 3 giá trị số nguyên ngắnmdy
. Tên biến cho biết thứ tự tuần tự:mdy [0]
sẽ được đặt thành số lượng kèo bóng đá euro tháng,mdy [1]
sẽ được đặt thành giá trị kèo bóng đá euro ngày vàmdy [2]
sẽ chứa năm.
Hàm luôn trả về 0 tại thời điểm này.
Nội dung chức năng sử dụngpgtypesdate_julmdy
chức năng.
rdefmtdate
Sử dụng mặt nạ định dạng để chuyển đổi chuỗi ký tự thành giá trị kèo bóng đá euro loại ngày.
int rdefmtdate (ngày *d, char *fmt, char *str);
Hàm nhận được kèo bóng đá euro con trỏ tới giá trị ngày sẽ giữ kết quả của hoạt động (D
), Mặt nạ định dạng để sử dụng để kèo bóng đá euro tích ngày (FMT
) và chuỗi c char* chứa biểu diễn văn bản kèo bóng đá euro ngày (str
). Biểu diễn văn bản dự kiến sẽ phù hợp với mặt nạ định dạng. Tuy nhiên, bạn không cần phải có ánh xạ 1: 1 kèo bóng đá euro chuỗi vào mặt nạ định dạng. Hàm chỉ phân tích thứ tự tuần tự và tìm kiếm các chữyy
hoặcYyyy
40866_40909mm
Để chỉ ra vị trí kèo bóng đá euro tháng vàDD
Để chỉ ra vị trí kèo bóng đá euro ngày.
Hàm trả về các giá trị sau:
0 - Hàm chấm dứt thành công.
ECPG_INFORMIX_ENOSHORTDATE
- Ngày không chứa các dấu kèo bóng đá euro cách giữa ngày, tháng và năm. Trong trường hợp này, chuỗi đầu vào phải dài chính xác 6 hoặc 8 byte nhưng không.
ECPG_INFORMIX_ENOTDMY
- Chuỗi định dạng không chỉ đúng thứ tự tuần tự kèo bóng đá euro năm, tháng và ngày.
ECPG_INFORMIX_BAD_DAY
- Chuỗi đầu vào không chứa kèo bóng đá euro ngày hợp lệ.
ECPG_INFORMIX_BAD_MONTH
- Chuỗi đầu vào không chứa kèo bóng đá euro tháng hợp lệ.
ECPG_INFORMIX_BAD_YEAR
- Chuỗi đầu vào không chứa năm hợp lệ.
Trong nội bộ Hàm này được triển khai để sử dụngpgtypesdate_defmt_asc
Hàm. Xem tham chiếu ở đó để biết bảng đầu vào ví dụ.
rfmtdate
42790_42874
int rfmtdate (ngày d, char *fmt, char *str);
Hàm nhận được ngày để chuyển đổi (D
), Mặt nạ định dạng (FMT
) và chuỗi sẽ giữ biểu diễn văn bản kèo bóng đá euro ngày (str
).
Khi thành công, 0 được trả về và giá trị âm nếu xảy ra lỗi.
Trong nội bộ chức năng này sử dụngpgtypesdate_fmt_asc
Hàm, xem tham chiếu ở đó để biết ví dụ.
rmdyjul
Tạo giá trị ngày từ kèo bóng đá euro mảng gồm 3 số nguyên ngắn chỉ định ngày, tháng và năm của ngày.
int rmdyjul (ngắn mdy [3], ngày *d);
Hàm nhận được mảng kèo bóng đá euro 3 số nguyên ngắn (mdy
) và kèo bóng đá euro con trỏ tới kèo bóng đá euro biến của loại ngày sẽ giữ kết quả của hoạt động.
Hiện tại chức năng luôn trả về 0.
Trong nội bộ chức năng được triển khai để sử dụng chức năngpgtypesdate_mdyjul
.
rdayofweek
Trả về kèo bóng đá euro số đại diện cho ngày trong tuần cho kèo bóng đá euro giá trị ngày.
int rdayofweek (ngày d);
Hàm nhận được biến ngàyD
Là đối số duy nhất của nó và trả về kèo bóng đá euro số nguyên biểu thị ngày trong tuần cho ngày này.
0 - Chủ nhật
1 - Thứ Hai
2 - Thứ ba
3 - Thứ tư
45229_45243
5 - Thứ Sáu
6 - Thứ bảy
Trong nội bộ chức năng được triển khai để sử dụng chức năngpgtypesdate_dayofweek
.
dtcien
Truy xuất dấu thời gian hiện tại.
void dtcien (dấu thời gian *ts);
Hàm lấy dấu thời gian hiện tại và lưu nó vào biến dấu thời gian đóTS
Điểm đến.
DTCVASC
phân tích dấu thời gian từ biểu diễn văn bản của nó thành kèo bóng đá euro biến dấu thời gian.
int dtcvasc (char *str, dấu thời gian *ts);
Hàm nhận được chuỗi để kèo bóng đá euro tích cú pháp (str
46429_46519TS
).
Hàm trả về 0 khi thành công và giá trị âm trong trường hợp lỗi.
Trong nội bộ chức năng này sử dụngpgtypestimestamp_from_asc
Hàm. Xem tham chiếu ở đó cho kèo bóng đá euro bảng có đầu vào ví dụ.
DTCVFMTASC
Phân tích dấu thời gian từ biểu diễn văn bản kèo bóng đá euro nó bằng cách sử dụng mặt nạ định dạng vào biến dấu thời gian.
Hàm nhận chuỗi để kèo bóng đá euro tích cú pháp (INBUF
), Mặt nạ định dạng để sử dụng (FMTSTR
) và kèo bóng đá euro con trỏ tới biến dấu thời gian sẽ giữ kết quả của hoạt động (47474_47483
).
Hàm này được thực hiện bằng phương tiệnpgtypestimestamp_defmt_asc
Hàm. Xem tài liệu ở đó để biết danh sách các nhà xác định định dạng có thể được sử dụng.
hàm trả về 0 khi thành công và giá trị âm trong trường hợp lỗi.
DTSUB
Trừ kèo bóng đá euro dấu thời gian từ kèo bóng đá euro thời gian khác và trả về kèo bóng đá euro biến của khoảng thời gian.
48093_48153
Hàm sẽ trừ biến dấu thời gian đóTS2
Các điểm từ biến dấu thời gian đóTS1
Điểm đến và sẽ lưu trữ kết quả trong biến khoảng thời gianIV
Điểm đến.
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
dttoasc
Chuyển đổi biến dấu thời gian thành chuỗi c char*.
int dttoasc (dấu thời gian *ts, char *ra);
Hàm nhận được kèo bóng đá euro con trỏ tới biến dấu thời gian để chuyển đổi (TS
) và chuỗi sẽ giữ kết quả kèo bóng đá euro hoạt động (đầu ra
). Nó chuyển đổiTS
với biểu diễn văn bản kèo bóng đá euro nó theo tiêu chuẩn SQL, đó làYYYY-MM-DD HH: MM: SS
.
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
dttofmtasc
Chuyển đổi biến dấu thời gian thành c char c* bằng cách sử dụng mặt nạ định dạng.
int dttofmtasc (dấu thời gian *ts, char *oput
Hàm nhận được kèo bóng đá euro con trỏ tới dấu thời gian để chuyển đổi dưới dạng đối số đầu tiên của nó (TS
), kèo bóng đá euro con trỏ tới bộ đệm đầu ra (OUTPUT
), Độ dài tối đa đã được kèo bóng đá euro bổ cho bộ đệm đầu ra (str_len
) và mặt nạ định dạng để sử dụng để chuyển đổi (FMTSTR
).
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
Nội bộ, chức năng này sử dụngpgtypestimeStamp_fmt_asc
Hàm. Xem tài liệu tham khảo ở đó để biết thông tin về những nhà xác định mặt nạ định dạng nào có thể được sử dụng.
Chuyển đổi kèo bóng đá euro biến khoảng thành chuỗi c char*.
int inasc (khoảng *i, char *str);
Hàm nhận kèo bóng đá euro con trỏ tới biến khoảng để chuyển đổi (i
) và chuỗi sẽ giữ kết quả kèo bóng đá euro hoạt động (str
). Nó chuyển đổii
với biểu diễn văn bản kèo bóng đá euro nó theo tiêu chuẩn SQL, đó làYYYY-MM-DD HH: MM: SS
.
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
rfmtlong
Chuyển đổi giá trị số nguyên dài thành biểu diễn văn bản kèo bóng đá euro nó bằng mặt nạ định dạng.
int rfmtlong (lng_val dài, char *fmt, char *outbuf);
Hàm nhận được giá trị dàilng_val
, Mặt nạ định dạngFMT
và kèo bóng đá euro con trỏ tới bộ đệm đầu raOutbuf
. Nó chuyển đổi giá trị dài theo mặt nạ định dạng thành biểu diễn văn bản kèo bóng đá euro nó.
Mặt nạ định dạng có thể bao gồm các ký tự chỉ định định dạng sau:
*
(Asterisk) - Nếu vị trí này sẽ trống nếu không, hãy điền nó bằng dấu hoa thị.
&
(Ampersand) - Nếu vị trí này sẽ trống nếu không, hãy điền nó bằng số 0.
#
- biến số 0 hàng đầu thành chỗ trống.
<
- trái với số trong chuỗi.
,
(dấu phẩy) - Số nhóm kèo bóng đá euro bốn hoặc nhiều chữ số thành các nhóm ba chữ số được phân tách bằng dấu phẩy.
.
52852_52952
-
(trừ) - dấu trừ xuất hiện nếu số là giá trị âm.
+
53238_53306
(
- Điều này thay thế dấu trừ ở phía trước số âm. Dấu trừ sẽ không xuất hiện.
)
53620_53700
$
- Biểu tượng tiền tệ.
Rupshift
Chuyển đổi kèo bóng đá euro chuỗi thành trường hợp trên.
void Rupshift (char *str);
Hàm nhận kèo bóng đá euro con trỏ tới chuỗi và biến đổi mọi ký tự chữ thường thành chữ hoa.
Byleng
Trả về số lượng ký tự trong kèo bóng đá euro chuỗi mà không đếm khoảng trống kéo dài.
int byleng (char *str, int len);
Hàm mong đợi kèo bóng đá euro chuỗi có độ dài cố định là đối số đầu tiên của nó (str
) và độ dài kèo bóng đá euro nó là đối số thứ hai kèo bóng đá euro nó (len
). Nó trả về số lượng ký tự quan trọng, đó là độ dài kèo bóng đá euro chuỗi mà không bị theo dõi.
ldchar
Sao chép chuỗi có độ dài cố định vào chuỗi kết thúc null.
void ldchar (char *src, int len, char *dest);
Hàm nhận chuỗi có độ dài cố định để sao chép (SRC
), độ dài kèo bóng đá euro nó (len
) và kèo bóng đá euro con trỏ tới bộ nhớ đích (Dest
). Lưu ý rằng bạn cần đặt trước ít nhấtlen+1
byte cho chuỗi đóDest
Điểm đến. Chức năng sao chép nhiều nhấtlen
byte đến vị trí mới (ít hơn nếu chuỗi nguồn có khoảng trống dấu
RGetMSG
int rgetMSG (int msgnum, char *s, int maxsize);
Hàm này tồn tại nhưng không được thực hiện tại thời điểm này!
rtypalign
int rtypalign (int offset, int type);
Hàm này tồn tại nhưng không được thực hiện tại thời điểm này!
rtypmsize
int rtypmsize (int type, int len);
Hàm này tồn tại nhưng không được thực hiện tại thời điểm này!
rtypwidth
int rtypwidth (int sqltype, int sqllen);
Hàm này tồn tại nhưng không được thực hiện tại thời điểm này!
rsetNull
Đặt kèo bóng đá euro biến thành NULL.
int rsetNull (int t, char *ptr);
Hàm nhận được kèo bóng đá euro số nguyên biểu thị loại biến và con trỏ tới chính biến được chuyển đến con trỏ c char*.
Các loại sau tồn tại:
Cchartype
- cho kèo bóng đá euro biến của loạichar
hoặcchar*
cshortType
- cho kèo bóng đá euro biến của loạingắn int
Cinttype
- cho kèo bóng đá euro biến của loạiint
cbooltype
- cho kèo bóng đá euro biến của loạiBoolean
CfloatsType
- cho kèo bóng đá euro biến của loạifloat
clongtype
- cho kèo bóng đá euro biến của loạiLong
CDoubletype
- cho kèo bóng đá euro biến của loạiDouble
cdecimaltype
- cho kèo bóng đá euro biến của loạithập kèo bóng đá euro
58745_58756
- cho kèo bóng đá euro biến của loạingày
CDTimeType
- cho kèo bóng đá euro biến của loạiTimestamp
Đây là kèo bóng đá euro ví dụ về cuộc gọi đến chức năng này:
$ char c [] = "ABC"; $ ngắn s = 17; $ int i = -74874; rsetNull (cchartype, (char *) c); rsetNull (cshortType, (char *) & s); rsetNull (cinttype, (char *) & i);
Risnull
59457_59486
int risnull (int t, char *ptr);
Hàm nhận được loại biến để kiểm tra (T
) cũng như kèo bóng đá euro con trỏ tới biến này (PTR
). Lưu ý rằng cái sau cần được đúc vào char*. Xem chức năngrsetNull
Đối với danh sách các loại biến có thể.
Đây là kèo bóng đá euro ví dụ về cách sử dụng chức năng này:
$ char c [] = "ABC"; $ ngắn s = 17; $ int i = -74874; risnull (cchartype, (char *) c); risnull (cshortType, (char *) & s); risnull (cinttype, (char *) & i);
Lưu ý rằng tất cả các hằng số ở đây mô tả các lỗi và tất cả chúng được xác định để biểu diễn các giá trị âm. Trong các mô tả kèo bóng đá euro các hằng số khác nhau, bạn cũng có thể tìm thấy giá trị mà các hằng số đại diện trong quá trình thực hiện hiện tại. Tuy nhiên, bạn không nên dựa vào số này. Tuy nhiên, bạn có thể dựa vào thực tế tất cả chúng được xác định để biểu diễn các giá trị âm.
ECPG_INFORMIX_NUM_OVERFLOW
Hàm trả về giá trị này nếu xảy ra tràn trong tính toán. Bên trong nó được định nghĩa là -1200 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_NUM_UNDERFLOW
Hàm trả về giá trị này nếu kèo bóng đá euro dòng chảy xảy ra trong tính toán. Bên trong nó được định nghĩa là -1201 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_DIVIDE_ZERO
Các hàm trả về giá trị này nếu kèo bóng đá euro nỗ lực chia cho 0 được quan sát. Bên trong nó được định nghĩa là -1202 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_BAD_YEAR
Hàm trả về giá trị này nếu kèo bóng đá euro giá trị xấu trong kèo bóng đá euro năm được tìm thấy trong khi phân tích kèo bóng đá euro ngày. Bên trong nó được định nghĩa là -1204 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_BAD_MONTH
Hàm trả về giá trị này nếu kèo bóng đá euro giá trị xấu trong kèo bóng đá euro tháng được tìm thấy trong khi phân tích ngày. Bên trong nó được định nghĩa là -1205 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_BAD_DAY
Hàm trả về giá trị này nếu kèo bóng đá euro giá trị xấu trong kèo bóng đá euro ngày được tìm thấy trong khi phân tích kèo bóng đá euro ngày. Bên trong nó được định nghĩa là -1206 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_ENOSHORTDATE
Hàm trả về giá trị này nếu thói quen phân tích cú pháp cần kèo bóng đá euro biểu diễn ngày ngắn nhưng không nhận được chuỗi ngày theo đúng độ dài. Bên trong nó được định nghĩa là -1209 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_DATE_CONVERT
Hàm trả về giá trị này nếu xảy ra lỗi trong định dạng ngày. Bên trong nó được định nghĩa là -1210 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_OUT_OF_MEMORY
63612_63729InformixĐịnh nghĩa).
ECPG_INFORMIX_ENOTDMY
Hàm trả về giá trị này nếu thói quen kèo bóng đá euro tích cú pháp được cho là có mặt nạ định dạng (nhưMMDDYY
) Nhưng không phải tất cả các trường được liệt kê chính xác. Bên trong nó được định nghĩa là -1212 (TheInformixĐịnh nghĩa).
ECPG_Informix_Bad_Numeric
Các hàm trả về giá trị này nếu kèo bóng đá euro thói quen phân tích cú pháp không thể phân tích biểu diễn văn bản cho kèo bóng đá euro giá trị số vì nó chứa lỗi hoặc nếu kèo bóng đá euro thói quen không thể hoàn thành tính toán liên quan đến các biến số vì ít nhất kèo bóng đá euro trong các biến số bị vô hiệu. Bên trong nó được định nghĩa là -1213 (TheInformixĐịnh nghĩa).
ECPG_Informix_Bad_Exponent
Hàm trả về giá trị này nếu thói quen kèo bóng đá euro tích cú pháp không thể kèo bóng đá euro tích số mũ. Bên trong nó được định nghĩa là -1216 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_BAD_DATE
Hàm trả về giá trị này nếu thói quen kèo bóng đá euro tích cú pháp không thể kèo bóng đá euro tích ngày. Bên trong nó được định nghĩa là -1218 (TheInformixĐịnh nghĩa).
ECPG_INFORMIX_EXTRA_CHARS
Các hàm trả về giá trị này nếu kèo bóng đá euro thói quen phân tích cú pháp được truyền các ký tự phụ mà nó không thể phân tích được. Bên trong nó được định nghĩa là -1264 (TheInformixĐịnh nghĩa).