Bản đồ thư viện PGTYPESPostgreSQLCác loại cơ sở dữ liệu với các loại tương đương C có thể được sử dụng trong các chương trình C. Nó cũng cung cấp các chức năng để thực hiện các tính toán cơ bản với các loại đó trong c, tức là, không có sự trợ giúp tỷ lệ kèo bóng đáPostgreSQLMáy chủ. Xem ví dụ sau:
EXEC SQL BẮT ĐẦU phần khai báo; tỷ lệ kèo bóng đá tỷ lệ kèo bóng đá 1; Dấu thời gian TS1, Tsout; khoảng IV1; char *ra; EXEC SQL END TUYÊN BỐ TUYÊN BỐ; Pgtypesdate_today (& date1); EXEC SQL Chọn bắt đầu, thời lượng vào: TS1,: IV1 từ datetbl trong đó d =: date1; Pgtypestimestamp_add_interval (& ts1, & iv1, & tsout); ra = pgtypestimestamp_to_asc (& tsout); printf ("Bắt đầu + thời lượng: %s \ n", out); Pgtypeschar_free (ra);
Một số chức năng nhưpgtypesnumeric_to_asc
Trả lại một con trỏ cho chuỗi ký tự được phân bổ mới. Những kết quả này nên được giải phóng bằngpgtypeschar_free
thay vìmiễn phí
. (Điều này chỉ quan trọng trên Windows, trong đó phân bổ và phát hành bộ nhớ đôi khi cần được thực hiện bởi cùng một thư viện.)
Loại số cung cấp các tính toán với độ chính xác tùy ý. Nhìn thấyPhần 8.1Đối với loại tương đương trongPostgreSQLMáy chủ. Do độ chính xác tùy ý, biến số này cần có khả năng mở rộng và co lại một cách linh hoạt. Đó là lý do tại sao bạn chỉ có thể tạo các biến số trên đống, bằng phương tiện tỷ lệ kèo bóng đápgtypesnumeric_new
vàpgtypesnumeric_free
chức năng. Loại thập phân, tương tự nhưng có giới hạn về độ chính xác, có thể được tạo trên ngăn xếp cũng như trên đống.
12980_13048
pgtypesnumeric_new
Yêu cầu một con trỏ tới một tỷ lệ kèo bóng đá số mới được phân bổ.
Số *pgtypesnumeric_new (void);
pgtypesnumeric_free
miễn phí một loại số, giải phóng tất cả bộ nhớ tỷ lệ kèo bóng đá nó.
void pgtypesnumeric_free (số *var);
pgtypesnumeric_from_asc
phân tích loại số từ ký hiệu chuỗi tỷ lệ kèo bóng đá nó.
Số *pgtypesnumeric_from_asc (char *str, char ** endptr);
Định dạng hợp lệ là ví dụ:-2
, .794
, +3.44
, 592.49E07
hoặc-32.84E-4
14149_14393*EndPtr
. Bạn có thể đặt một cách an toànendptr
đến null.
pgtypesnumeric_to_asc
Trả về một con trỏ cho một chuỗi được phân bổ bởimalloc
Có chứa biểu diễn chuỗi tỷ lệ kèo bóng đá loại sốnum
.
char *pgtypesnumeric_to_asc (Numeric *num, int dscale);
Giá trị số sẽ được in bằngDSCALE
chữ số thập phân, với làm tròn được áp dụng nếu cần thiết. Kết quả phải được giải phóng bằngpgtypeschar_free ()
.
pgtypesnumeric_add
Thêm hai tỷ lệ kèo bóng đá số vào một thứ ba.
int pgtypesnumeric_add (số *var1, số *var2, số *kết quả);
Hàm thêm các tỷ lệ kèo bóng đáVAR1
vàvar2
vào tỷ lệ kèo bóng đá kết quảresult
. Hàm trả về 0 khi thành công và -1 trong trường hợp lỗi.
pgtypesnumeric_sub
Trừ hai tỷ lệ kèo bóng đá số và trả về kết quả trong một lần thứ ba.
int pgtypesnumeric_sub (số *var1, số *var2, số *kết quả);
Hàm trừ tỷ lệ kèo bóng đávar2
Từ tỷ lệ kèo bóng đáVAR1
. Kết quả tỷ lệ kèo bóng đá hoạt động được lưu trữ trong biếnresult
. Hàm trả về 0 khi thành công và -1 trong trường hợp lỗi.
pgtypesnumeric_mul
Nhân hai tỷ lệ kèo bóng đá số và trả về kết quả trong một lần thứ ba.
int pgtypesnumeric_mul (số *var1, số *var2, số *result
Hàm nhân lên các tỷ lệ kèo bóng đávar1
vàvar2
16706_16764result
. Hàm trả về 0 khi thành công và -1 trong trường hợp lỗi.
pgtypesnumeric_div
Chia hai tỷ lệ kèo bóng đá số và trả về kết quả trong một lần thứ ba.
int pgtypesnumeric_div (số *var1, số *var2, số *result
Hàm chia các tỷ lệ kèo bóng đávar1
bởivar2
. Kết quả tỷ lệ kèo bóng đá hoạt động được lưu trữ trong biếnresult
. Hàm trả về 0 khi thành công và -1 trong trường hợp lỗi.
pgtypesnumeric_cmp
So sánh hai tỷ lệ kèo bóng đá số.
int pgtypesnumeric_cmp (số *var1, số *var2)
Hàm này so sánh hai tỷ lệ kèo bóng đá số. Trong trường hợp lỗi,int_max
được trả về. Khi thành công, chức năng trả về một trong ba kết quả có thể:
1, nếuvar1
lớn hơnvar2
-1, nếuVAR1
nhỏ hơnvar2
0, nếuVAR1
vàvar2
bằng nhau
pgtypesnumeric_from_int
Chuyển đổi tỷ lệ kèo bóng đá INT thành tỷ lệ kèo bóng đá số.
int pgtypesnumeric_from_int (đã ký int_val, số *var);
Hàm này chấp nhận một tỷ lệ kèo bóng đá số đã ký int và lưu trữ nó trong tỷ lệ kèo bóng đá sốvar
. Khi thành công, 0 được trả lại và -1 trong trường hợp thất bại.
pgtypesnumeric_from_long
Chuyển đổi tỷ lệ kèo bóng đá int dài thành tỷ lệ kèo bóng đá số.
int pgtypesnumeric_from_long (đã ký Long int long_val, số *var);
Hàm này chấp nhận một tỷ lệ kèo bóng đá số có chữ ký dài và lưu trữ nó trong tỷ lệ kèo bóng đá sốvar
. Khi thành công, 0 được trả lại và -1 trong trường hợp thất bại.
pgtypesnumeric_copy
Sao chép qua một tỷ lệ kèo bóng đá số vào một tỷ lệ kèo bóng đá khác.
int pgtypesnumeric_copy (số *src, số *dst);
Hàm này sao chép giá trị tỷ lệ kèo bóng đá biếnSRC
chỉ vào tỷ lệ kèo bóng đá màDST
19993_20057
pgtypesnumeric_from_double
Chuyển đổi một tỷ lệ kèo bóng đá loại đôi thành số.
20284_20344
Hàm này chấp nhận một biến tỷ lệ kèo bóng đá Double và lưu trữ kết quả trong biếnDST
Điểm đến. Nó trả về 0 khi thành công và -1 nếu xảy ra lỗi.
pgtypesnumeric_to_double
Chuyển đổi một tỷ lệ kèo bóng đá số loại thành gấp đôi.
int pgtypesnumeric_to_double (số *nv, double *dp)
Hàm chuyển đổi giá trị số từ tỷ lệ kèo bóng đá đóNV
chỉ vào tỷ lệ kèo bóng đá képDP
Điểm đến. Nó trả về 0 khi thành công và -1 nếu xảy ra lỗi, bao gồm cả tràn. Trên tràn, tỷ lệ kèo bóng đá toàn cầuerrno
sẽ được đặt thànhpgtypes_num_overflow
Ngoài ra.
21315_21338
Chuyển đổi một biến tỷ lệ kèo bóng đá loại thành int.
int pgtypesnumeric_to_int (số *nv, int *ip);
Hàm chuyển đổi giá trị số từ tỷ lệ kèo bóng đá đóNV
chỉ vào tỷ lệ kèo bóng đá số nguyên màIP
Điểm đến. Nó trả về 0 khi thành công và -1 nếu xảy ra lỗi, bao gồm cả tràn. Trên tràn, tỷ lệ kèo bóng đá toàn cầuerrno
sẽ được đặt thànhpgtypes_num_overflow
Ngoài ra.
pgtypesnumeric_to_long
Chuyển đổi một tỷ lệ kèo bóng đá số loại thành dài.
int pgtypesnumeric_to_long (số *nv, dài *lp);
Hàm chuyển đổi giá trị số từ tỷ lệ kèo bóng đá đóNV
chỉ vào tỷ lệ kèo bóng đá số nguyên dài màLP
Điểm đến. Nó trả về 0 khi thành công và -1 nếu xảy ra lỗi, bao gồm cả tràn. Trên tràn, tỷ lệ kèo bóng đá toàn cầuerrno
sẽ được đặt thànhpgtypes_num_overflow
Ngoài ra.
pgtypesnumeric_to_decimal
Chuyển đổi một biến số tỷ lệ kèo bóng đá số thành thập phân.
int pgtypesnumeric_to_decimal (số *src, thập phân *dst);
Hàm chuyển đổi giá trị số từ tỷ lệ kèo bóng đá đóSRC
chỉ vào tỷ lệ kèo bóng đá số thập phânDST
Điểm đến. Nó trả về 0 khi thành công và -1 nếu xảy ra lỗi, bao gồm cả tràn. Trên tràn, tỷ lệ kèo bóng đá toàn cầuerrno
sẽ được đặt thànhpgtypes_num_overflow
Ngoài ra.
pgtypesnumeric_from_decimal
Chuyển đổi một tỷ lệ kèo bóng đá số thập phân thành số.
int pgtypesnumeric_from_decimal (thập phân *src, số *dst);
Hàm chuyển đổi giá trị thập phân từ tỷ lệ kèo bóng đá đóSRC
chỉ vào tỷ lệ kèo bóng đá số màDST
Điểm đến. Nó trả về 0 khi thành công và -1 nếu xảy ra lỗi. Do loại thập phân được triển khai dưới dạng phiên bản giới hạn tỷ lệ kèo bóng đá loại số, tình trạng tràn không thể xảy ra với chuyển đổi này.
24248_24335Phần 8.5Đối với loại tương đương trongPostgreSQLMáy chủ.
Các chức năng sau đây có thể được sử dụng để làm việc với loại tỷ lệ kèo bóng đá:
pgtypesdate_from_timestamp
Trích xuất phần tỷ lệ kèo bóng đá từ dấu thời gian.
Hàm nhận dấu thời gian làm đối số duy nhất tỷ lệ kèo bóng đá nó và trả về phần ngày được trích xuất từ dấu thời gian này.
pgtypesdate_from_asc
phân tích ngày từ biểu diễn văn bản tỷ lệ kèo bóng đá nó.
tỷ lệ kèo bóng đá pgtypesdate_from_asc (char *str, char ** endptr);
Hàm nhận được c char* chuỗistr
và một con trỏ tới c char* chuỗiendptr
25530_25679*EndPtr
. Bạn có thể đặt một cách an toànendptr
đến null.
Lưu ý rằng hàm luôn giả định tỷ lệ kèo bóng đá có định dạng MDY và hiện tại không có biến nào để thay đổi trong ECPG.
Bảng 35.2Hiển thị các định dạng đầu vào được phép.
Bảng 35.2. Định dạng đầu vào hợp lệ chopgtypesdate_from_asc
INPUT | result |
---|---|
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
1999-01-08 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
1/8/1999 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
1/18/1999 |
tỷ lệ kèo bóng đá 18 tháng 1 năm 1999 |
01/02/03 |
tỷ lệ kèo bóng đá 1 tháng 2 năm 2003 |
1999-JAN-08 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
Jan-08-1999 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
08-Jan-1999 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
99-JAN-08 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
08-Jan-99 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
08-JAN-06 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 2006 |
Jan-08-99 |
tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
19990108 |
ISO 8601; tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
990108 |
ISO 8601; tỷ lệ kèo bóng đá 8 tháng 1 năm 1999 |
1999.008 |
Năm và tỷ lệ kèo bóng đá trong năm |
J2451187 |
tỷ lệ kèo bóng đá Julian |
tỷ lệ kèo bóng đá 8 tháng 1, 99 trước Công nguyên |
Năm 99 trước kỷ nguyên chung |
pgtypesdate_to_asc
Trả về biểu diễn văn bản tỷ lệ kèo bóng đá biến ngày.
char *pgtypesdate_to_asc (tỷ lệ kèo bóng đá ddate);
Hàm nhận tỷ lệ kèo bóng đáddate
là tham số duy nhất tỷ lệ kèo bóng đá nó. Nó sẽ xuất ngày trong biểu mẫu1999-01-18
, tức là, trongYYYY-MM-DD
Định dạng. Kết quả phải được giải phóng bằngpgtypeschar_free ()
.
pgtypesdate_julmdy
Trích xuất các giá trị cho ngày, tháng và năm từ một biến tỷ lệ kèo bóng đá loại ngày.
void pgtypesdate_julmdy (tỷ lệ kèo bóng đá d, int *mdy);
Hàm nhận tỷ lệ kèo bóng đáD
và một con trỏ tới một mảng gồm 3 giá trị số nguyênmdy
. Tên tỷ lệ kèo bóng đá cho biết thứ tự tuần tự:mdy [0]
sẽ được đặt thành số lượng tỷ lệ kèo bóng đá tháng,mdy [1]
sẽ được đặt thành giá trị tỷ lệ kèo bóng đá ngày vàmdy [2]
sẽ chứa năm.
pgtypesdate_mdyjul
31689_31796
void pgtypesdate_mdyjul (int *mdy, tỷ lệ kèo bóng đá *jdate);
Hàm nhận được mảng tỷ lệ kèo bóng đá 3 số nguyên (mdy
) là đối số đầu tiên tỷ lệ kèo bóng đá nó và là đối số thứ hai tỷ lệ kèo bóng đá nó, một con trỏ tới một biến tỷ lệ kèo bóng đá loại ngày sẽ giữ kết quả tỷ lệ kèo bóng đá hoạt động.
pgtypesdate_dayofweek
Trả về một số đại diện cho tỷ lệ kèo bóng đá trong tuần cho một giá trị tỷ lệ kèo bóng đá.
int pgtypesdate_dayofweek (tỷ lệ kèo bóng đá d);
Hàm nhận được biến tỷ lệ kèo bóng đáD
Là đối số duy nhất tỷ lệ kèo bóng đá nó và trả về một số nguyên chỉ ra ngày trong tuần cho ngày này.
0 - Chủ nhật
1 - Thứ Hai
2 - Thứ ba
3 - Thứ tư
4 - Thứ năm
5 - Thứ sáu
6 - Thứ bảy
pgtypesdate_today
Nhận tỷ lệ kèo bóng đá hiện tại.
void pgtypesdate_today (tỷ lệ kèo bóng đá *d);
Hàm nhận được một con trỏ tới biến tỷ lệ kèo bóng đá (D
) rằng nó đặt thành tỷ lệ kèo bóng đá hiện tại.
pgtypesdate_fmt_asc
Chuyển đổi một biến số ngày thành biểu diễn văn bản tỷ lệ kèo bóng đá nó bằng mặt nạ định dạng.
int pgtypesdate_fmt_asc (tỷ lệ kèo bóng đá ddate, char *fmtstring, char *outbuf);
Hàm nhận được tỷ lệ kèo bóng đá để chuyển đổi (ddate
), Mặt nạ định dạng (FMTSTRING
) và chuỗi sẽ giữ biểu diễn văn bản tỷ lệ kèo bóng đá ngày (Outbuf
).
Khi thành công, 0 được trả về và giá trị âm nếu xảy ra lỗi.
Các nghĩa đen sau đây là các nhà xác định trường bạn có thể sử dụng:
DD
- Số lượng tỷ lệ kèo bóng đá trong tháng.
mm
- Số tỷ lệ kèo bóng đá tháng trong năm.
YY
- Số lượng tỷ lệ kèo bóng đá năm dưới dạng số hai chữ số.
YYYY
- Số lượng tỷ lệ kèo bóng đá năm dưới dạng số bốn chữ số.
DDD
- Tên tỷ lệ kèo bóng đá ngày (viết tắt).
MMM
- Tên tỷ lệ kèo bóng đá tháng (viết tắt).
Tất cả các ký tự khác được sao chép 1: 1 vào chuỗi đầu ra.
Bảng 35.3Cho biết một vài định dạng có thể. Điều này sẽ cho bạn một ý tưởng về cách sử dụng chức năng này. Tất cả các dòng đầu ra đều dựa trên cùng một tỷ lệ kèo bóng đá: 23 tháng 11 năm 1959.
Bảng 35.3. Định dạng đầu vào hợp lệ chopgtypesdate_fmt_asc
Định dạng | result |
---|---|
mmddyy |
112359 |
DDMMYY |
231159 |
YYMMDD |
591123 |
yy/mm/dd |
59/11/23 |
YY MM DD |
59 11 23 |
YY.MM.DD |
59.11.23 |
.mm.yyyy.dd. |
.11.1959.23. |
Mmm. DD, Yyyy |
nov. 23, 1959 |
MMM DD YYYY |
23 tháng 11 năm 1959 |
Yyyy DD MM |
1959 23 11 |
DDD, mmm. DD, Yyyy |
Thứ Hai, tỷ lệ kèo bóng đá 23 tháng 11 năm 1959 |
(DDD) Mmm. DD, Yyyy |
(Thứ Hai) tỷ lệ kèo bóng đá 23 tháng 11 năm 1959 |
pgtypesdate_defmt_asc
Sử dụng mặt nạ định dạng để chuyển đổi C39247_39254
Chuỗi thành giá trị tỷ lệ kèo bóng đá loại ngày.
int pgtypesdate_defmt_asc (tỷ lệ kèo bóng đá *d, char *fmt, char *str);
Hàm nhận được một con trỏ tới giá trị ngày sẽ giữ kết quả tỷ lệ kèo bóng đá hoạt động (D
), Mặt nạ định dạng để sử dụng để phân tích tỷ lệ kèo bóng đá (FMT
) và chuỗi c char* chứa biểu diễn văn bản tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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
chỉ ra vị trí tỷ lệ kèo bóng đá năm,mm
Để chỉ ra vị trí tỷ lệ kèo bóng đá tháng vàDD
Để chỉ ra vị trí tỷ lệ kèo bóng đá ngày.
Bảng 35.4Cho biết một vài định dạng có thể. Điều này sẽ cho bạn ý tưởng về cách sử dụng chức năng này.
Bảng 35.4. Định dạng đầu vào hợp lệ chordefmtdate
Định dạng | chuỗi | result |
---|---|---|
ddmmyy |
21-2-54 |
1954-02-21 |
DDMMYY |
2-12-54 |
1954-12-02 |
DDMMYY |
20111954 |
1954-11-20 |
41970_41978 |
130464 |
1964-04-13 |
mmm.dd.yyyy |
Mar-12-1967 |
1967-03-12 |
yy/mm/dd |
1954, tỷ lệ kèo bóng đá 3 tháng 2 |
1954-02-03 |
mmm.dd.yyyy |
041269 |
1969-04-12 |
yy/mm/dd |
Vào năm 2525, vào tháng 7, nhân loại sẽ còn sống vào tỷ lệ kèo bóng đá thứ 28 |
2525-07-28 |
DD-MM-YY |
Tôi đã nói vào tỷ lệ kèo bóng đá 28 tháng 7 năm 2525 |
2525-07-28 |
mmm.dd.yyyy |
9/14/58 |
1958-09-14 |
yy/mm/dd |
47/03/29 |
1947-03-29 |
mmm.dd.yyyy |
tỷ lệ kèo bóng đá 28 tháng 10 năm 1975 |
1975-10-28 |
MMDDYY |
tỷ lệ kèo bóng đá 14 tháng 11 năm 1985 |
1985-11-14 |
Loại dấu thời gian trong C cho phép các chương trình tỷ lệ kèo bóng đá bạn xử lý dữ liệu tỷ lệ kèo bóng đá dấu thời gian loại SQL. Nhìn thấyPhần 8.5Đối với loại tương đương trongPOSTGRESQLMáy chủ.
Các chức năng sau đây có thể được sử dụng để hoạt động với loại dấu thời gian:
pgtypestimeStamp_from_asc
phân tích dấu thời gian từ biểu diễn văn bản tỷ lệ kèo bóng đá nó thành một biến dấu thời gian.
45594_45660
Hàm nhận được chuỗi để phân tích cú pháp (str
) và một con trỏ tới c char* (endptr
). Hiện tại ECPG luôn phân tích chuỗi hoàn chỉnh và do đó hiện tại không hỗ trợ lưu trữ địa chỉ tỷ lệ kèo bóng đá ký tự không hợp lệ đầu tiên trong*EndPtr
. Bạn có thể đặt một cách an toànendptr
đến null.
Hàm trả về dấu thời gian phân tích cú pháp khi thành công. Trên lỗi,pgtypesinvalidtimestamp
được trả về vàerrno
được đặt thànhpgtypes_ts_bad_timestamp
. Nhìn thấypgtypesinvalidtimestamp
Đối với các ghi chú quan trọng về giá trị này.
Nói chung, chuỗi đầu vào có thể chứa bất kỳ sự kết hợp nào tỷ lệ kèo bóng đá thông số kỹ thuật ngày được phép, ký tự khoảng trắng và thông số kỹ thuật thời gian được phép. Lưu ý rằng các múi giờ không được ECPG hỗ trợ. Nó có thể phân tích chúng nhưng không áp dụng bất kỳ tính toán nào nhưPOSTGRESQLMáy chủ làm ví dụ. Các nhà xác định thời gian bị loại bỏ âm thầm.
Bảng 35.5Chứa một vài ví dụ cho các chuỗi đầu vào.
Bảng 35.5. Định dạng đầu vào hợp lệ cho47302_47329
INPUT | result |
---|---|
1999-01-08 04:05:06 |
1999-01-08 04:05:06 |
8 tháng 1 04:05:06 1999 PST |
1999-01-08 04:05:06 |
1999-JAN-08 04: 05: 06.789-8 |
48362_48417 |
J2451187 04: 05-08: 00 |
1999-01-08 04:05:00 (Người xác định múi giờ bị bỏ qua) |
pgtypestimestamp_to_asc
Chuyển đổi một tỷ lệ kèo bóng đá thành chuỗi c char*.
49033_49085
Hàm nhận được dấu thời gianTSTAMP
Là đối số duy nhất tỷ lệ kèo bóng đá nó và trả về một chuỗi được phân bổ có chứa biểu diễn văn bản tỷ lệ kèo bóng đá dấu thời gian. Kết quả phải được giải phóng bằngpgtypeschar_free ()
.
Truy xuất dấu thời gian hiện tại.
49606_49655
Hàm lấy dấu thời gian hiện tại và lưu nó vào tỷ lệ kèo bóng đá dấu thời gian đóTS
Điểm đến.
pgtypestimestamp_fmt_asc
Chuyển đổi tỷ lệ kèo bóng đá dấu thời gian thành c char c* Sử dụng mặt nạ định dạng.
50076_50165
Hàm nhận được một con trỏ tới dấu thời gian để chuyển đổi dưới dạng đối số đầu tiên tỷ lệ kèo bóng đá nó (TS
), một con trỏ tới bộ đệm đầu ra (đầu ra
), Độ dài tối đa đã được phân 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.
Bạn có thể sử dụng các định dạng định dạng sau cho mặt nạ định dạng. Các định dạng xác định định dạng là cùng một định dạng được sử dụng trongstrftime
50837_50852LIBC. Bất kỳ trình xác định không định dạng nào sẽ được sao chép vào bộ đệm đầu ra.
%A
- được thay thế bằng đại diện quốc gia tỷ lệ kèo bóng đá toàn bộ tên ngày trong tuần.
%A
- được thay thế bằng đại diện quốc gia tỷ lệ kèo bóng đá tên tuần được viết tắt.
%B
- được thay thế bằng đại diện quốc gia tỷ lệ kèo bóng đá tên đầy đủ.
%B
- được thay thế bằng đại diện quốc gia tỷ lệ kèo bóng đá tên tháng viết tắt.
%C
- được thay thế bằng (năm / 100) dưới dạng số thập phân; các chữ số đơn được đi trước bằng số 0.
%C
- được thay thế bằng đại diện quốc gia về thời gian và tỷ lệ kèo bóng đá.
%D
- tương đương với%m/%d/%y
.
%D
- được thay thế bằng tỷ lệ kèo bóng đá trong tháng dưới dạng số thập phân (01 Phản31).
%E*
%O*
- Tiện ích mở rộng địa phương POSIX. Các chuỗi%EC
%EC
%Ex
%Ex
%EY
%EY
%OD
%OE
%OH
%OI
%OM
%OM
%OS
%OU
%OU
%OV
%OW
%OW
%OY
được cho là cung cấp các biểu diễn thay thế.
Ngoài ra%OB
được triển khai để thể hiện tên tháng thay thế (được sử dụng độc lập, không có tỷ lệ kèo bóng đá được đề cập).
%E
- được thay thế bằng ngày tỷ lệ kèo bóng đá tháng dưới dạng số thập phân (1 Ném31); các chữ số đơn được đi trước trống.
%F
- tương đương với%Y-%M-%D
.
%g
- được thay thế bằng một năm dưới dạng số thập phân với thế kỷ. Năm nay là năm có phần lớn hơn trong tuần (thứ Hai là ngày đầu tiên tỷ lệ kèo bóng đá tuần).
%g
- được thay thế bằng cùng năm với%g
, nhưng như một số thập phân không có thế kỷ (00 Ném99).
%H
- được thay thế bằng giờ (đồng hồ 24 giờ) dưới dạng số thập phân (00 Ném23).
%H
- giống như%B
.
%I
- được thay thế bằng giờ (đồng hồ 12 giờ) dưới dạng số thập phân (01 Ném12).
%J
- được thay thế bằng tỷ lệ kèo bóng đá trong năm dưới dạng số thập phân (001 Tiết366).
%K
- được thay thế bằng giờ (đồng hồ 24 giờ) dưới dạng số thập phân (0 Ném23); các chữ số đơn được đi trước trống.
%L
- được thay thế bằng giờ (đồng hồ 12 giờ) dưới dạng số thập phân (1 Ném12); các chữ số đơn được đi trước trống.
%m
- được thay thế bằng phút dưới dạng số thập phân (00 Ném59).
%m
- được thay thế bằng tháng dưới dạng số thập phân (01 Phản12).
%N
- được thay thế bằng một dòng mới.
%O*
- giống như%E*
.
%P
- được thay thế bằng đại diện quốc gia tỷ lệ kèo bóng đáante meridiemhoặcĐăng Meridiemkhi thích hợp.
%R
- tương đương với%H:%M
.
%R
- tương đương với%I:%M:%s%P
.
%s
- được thay thế bằng số thứ hai dưới dạng số thập phân (00 Ném60).
%s
- được thay thế bằng số giây kể từ kỷ nguyên, utc.
%T
- tương đương với%H:%M:%s
%T
57438_57464
%U
- được thay thế bằng số tuần tỷ lệ kèo bóng đá năm (Chủ nhật là ngày đầu tiên tỷ lệ kèo bóng đá tuần) dưới dạng số thập phân (00 Ném53).
%U
- được thay thế bằng ngày trong tuần (thứ Hai là ngày đầu tiên tỷ lệ kèo bóng đá tuần) làm số thập phân (1 Ném7).
%V
- được thay thế bằng số tuần tỷ lệ kèo bóng đá năm (thứ Hai là ngày đầu tiên tỷ lệ kèo bóng đá tuần) dưới dạng số thập phân (01 Phản53). Nếu tuần chứa ngày 1 tháng 1 có bốn ngày trở lên trong năm mới, thì đó là tuần 1; Nếu không thì đó là tuần cuối cùng tỷ lệ kèo bóng đá năm trước và tuần tiếp theo là Tuần 1.
%V
- tương đương với%e-%b-%y
.
%W
- được thay thế bằng số tuần tỷ lệ kèo bóng đá năm (thứ Hai là ngày đầu tiên tỷ lệ kèo bóng đá tuần) dưới dạng số thập phân (00 Ném53).
%W
58788_58884
%x
- được thay thế bằng đại diện quốc gia thời đó.
%x
- được thay thế bằng đại diện quốc gia tỷ lệ kèo bóng đá ngày.
%y
- được thay thế bằng năm bằng thế kỷ như một số thập phân.
%y
- được thay thế bởi năm không có thế kỷ như một số thập phân (00 Ném99).
%Z
- được thay thế bằng tên múi giờ.
%Z
- được thay thế bằng phần bù múi giờ từ UTC; Một dấu hiệu cộng với dấu hiệu là viết tắt tỷ lệ kèo bóng đá phía đông UTC, một dấu hiệu trừ về phía tây UTC, giờ và phút theo sau với hai chữ số và không có dấu phân cách giữa chúng (dạng phổ biến cho các tiêu đề ngày RFC 822).
%+
- được thay thế bằng đại diện quốc gia tỷ lệ kèo bóng đá ngày và giờ.
%-*
- Tiện ích mở rộng GNU LIBC. Không thực hiện bất kỳ phần đệm nào khi thực hiện đầu ra số.
$ _* - Tiện ích mở rộng GNU LIBC. Chỉ định rõ ràng không gian để đệm.
%0*
60682_60743
%%
- được thay thế bằng%
.
pgtypestimestamp_sub
61120_61213
61248_61323
Hàm sẽ trừ tỷ lệ kèo bóng đá dấu thời gian đóTS2
Các điểm từ tỷ lệ kèo bóng đá dấu thời gian đóTS1
Điểm đến và sẽ lưu trữ kết quả trong tỷ lệ kèo bóng đá 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.
pgtypestimestamp_defmt_asc
phân tích giá trị dấu thời gian từ biểu diễn văn bản tỷ lệ kèo bóng đá nó bằng mặt nạ định dạng.
int pgtypestimestamp_defmt_asc (char *str, char *fmt, dấu thời gian *d);
Hàm nhận được biểu diễn văn bản tỷ lệ kèo bóng đá dấu thời gian trong biếnstr
cũng như mặt nạ định dạng để sử dụng trong tỷ lệ kèo bóng đáFMT
. Kết quả sẽ được lưu trữ trong tỷ lệ kèo bóng đáD
Điểm đến.
Nếu mặt nạ định dạngFMT
là null, chức năng sẽ quay trở lại mặt nạ định dạng mặc định là%y-%m-%d%h:%m:%s
.
Đây là hàm ngược lạipgtypestimestamp_fmt_asc
. Xem tài liệu ở đó để tìm hiểu về các mục mặt nạ có thể có.
pgtypestimestamp_add_interval
Thêm tỷ lệ kèo bóng đá khoảng vào tỷ lệ kèo bóng đá dấu thời gian.
int pgtypestimestamp_add_interval (dấu thời gian *tin, khoảng *span, thời gian
Hàm nhận được một con trỏ tới tỷ lệ kèo bóng đá dấu thời giantin
và con trỏ tới tỷ lệ kèo bóng đá khoảngspan
. Nó thêm khoảng thời gian vào dấu thời gian và lưu dấu thời gian kết quả trong tỷ lệ kèo bóng đá đóTout
Điểm đến.
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
pgtypestimestamp_sub_interval
Trừ một tỷ lệ kèo bóng đá khoảng từ tỷ lệ kèo bóng đá dấu thời gian.
int pgtypestimestamp_sub_interval (dấu thời gian *tin, khoảng *span, thời gian
Hàm trừ tỷ lệ kèo bóng đá khoảng thời gian đóspan
64074_64120tin
Điểm và lưu kết quả vào tỷ lệ kèo bóng đá đóTout
Điểm đến.
Khi thành công, hàm trả về 0 và giá trị âm nếu xảy ra lỗi.
Loại khoảng trong C cho phép các chương trình tỷ lệ kèo bóng đá bạn xử lý dữ liệu tỷ lệ kèo bóng đá khoảng thời gian loại SQL. Nhìn thấyPhần 8.5Đối với loại tương đương trongPostgreSQLMáy chủ.
Các chức năng sau đây có thể được sử dụng để hoạt động với loại khoảng:
65111_65132
Trả lại một con trỏ cho tỷ lệ kèo bóng đá khoảng thời gian mới được phân bổ.
Khoảng thời gian *PGTyPesInterval_New (void);
pgtypesInterval_free
Phát hành bộ nhớ tỷ lệ kèo bóng đá biến khoảng thời gian được phân bổ trước đó.
void pgtypesInterval_free (khoảng *intvl);
pgtypesInterval_from_asc
phân tích khoảng thời gian từ biểu diễn văn bản tỷ lệ kèo bóng đá nó.
65878_65943
hàm phân tích chuỗi đầu vàostr
và trả lại một con trỏ cho một biến khoảng thời gian được phân bổ. Hiện tại ECPG luôn phân tích chuỗi hoàn chỉnh và do đó hiện tại không hỗ trợ lưu trữ địa chỉ tỷ lệ kèo bóng đá ký tự không hợp lệ đầu tiên trong*EndPtr
. Bạn có thể đặt một cách an toànendptr
đến null.
pgtypesInterval_to_asc
Chuyển đổi một biến số loại thành biểu diễn văn bản tỷ lệ kèo bóng đá nó.
char *pgtypesinterval_to_asc (khoảng *span);
Hàm chuyển đổi tỷ lệ kèo bóng đá khoảng đóspan
chỉ vào C Char*. Đầu ra trông giống như ví dụ này:@ 1 tỷ lệ kèo bóng đá 12 giờ 59 phút 10 giây
. Kết quả phải được giải phóng bằngpgtypeschar_free ()
.
pgtypesInterval_copy
Sao chép một biến tỷ lệ kèo bóng đá khoảng thời gian.
67192_67262
hàm sao chép tỷ lệ kèo bóng đá khoảng thời gian đóINTVLSRC
chỉ vào tỷ lệ kèo bóng đá đóintvldest
Điểm đến. Lưu ý rằng bạn cần phân bổ bộ nhớ cho tỷ lệ kèo bóng đá đích trước đó.
Loại thập phân tương tự như loại số. Tuy nhiên, nó được giới hạn ở độ chính xác tối đa là 30 chữ số quan trọng. Trái ngược với loại số chỉ có thể được tạo trên đống, loại thập phân có thể được tạo ra trên ngăn xếp hoặc trên đống (bằng các hàmpgtypesdecimal_new
vàpgtypesdecimal_free
). Có rất nhiều chức năng khác liên quan đến loại thập phân trongInformixChế độ tương thích được mô tả trongPhần 35.15.
Các hàm sau có thể được sử dụng để hoạt động với loại thập phân và không chỉ có tronglibcompat
Thư viện.
pgtypesdecimal_new
Yêu cầu một con trỏ tới tỷ lệ kèo bóng đá số thập phân mới được phân bổ.
68884_68922
pgtypesdecimal_free
miễn phí một loại thập phân, giải phóng tất cả bộ nhớ tỷ lệ kèo bóng đá nó.
void pgtypesdecimal_free (thập phân *var);
pgtypes_num_bad_numeric
Một đối số nên chứa một biến số (hoặc điểm đến một biến số) nhưng trên thực tế, biểu diễn trong bộ nhớ tỷ lệ kèo bóng đá nó không hợp lệ.
pgtypes_num_overflow
xảy ra tràn. Vì loại số có thể xử lý độ chính xác gần như tùy ý, việc chuyển đổi một tỷ lệ kèo bóng đá số thành các loại khác có thể gây ra tràn.
pgtypes_num_underflow
Một dòng chảy xảy ra. Vì loại số có thể xử lý độ chính xác gần như tùy ý, việc chuyển đổi một tỷ lệ kèo bóng đá số thành các loại khác có thể gây ra dòng chảy.
pgtypes_num_divide_zero
Một bộ phận theo 0 đã được thử.
pgtypes_date_bad_date
Chuỗi tỷ lệ kèo bóng đá không hợp lệ đã được chuyển chopgtypesdate_from_asc
chức năng.
pgtypes_date_err_eargs
Đối số không hợp lệ đã được truyền chopgtypesdate_defmt_asc
chức năng.
pgtypes_date_err_enoshortdate
Mã thông báo không hợp lệ trong chuỗi đầu vào đã được tìm thấy bởipgtypesdate_defmt_asc
71265_71277
pgtypes_intvl_bad_interval
Chuỗi khoảng thời gian không hợp lệ đã được truyền đếnpgtypesInterval_from_asc
Hàm hoặc giá trị khoảng không hợp lệ đã được truyền chopgtypesInterval_to_asc
chức năng.
pgtypes_date_err_enotdmy
Có sự không phù hợp trong tỷ lệ kèo bóng đá/tháng/năm/năm trongpgtypesdate_defmt_asc
chức năng.
pgtypes_date_bad_day
Một ngày không hợp lệ tỷ lệ kèo bóng đá tháng được tìm thấy bởipgtypesdate_defmt_asc
chức năng.
pgtypes_date_bad_month
Giá trị tháng không hợp lệ được tìm thấy bởipgtypesdate_defmt_asc
chức năng.
pgtypes_ts_bad_timestamp
Chuỗi dấu thời gian không hợp lệ được truyền chopgtypestimestamp_from_asc
Hàm hoặc giá trị dấu thời gian không hợp lệ đã được truyền chopgtypestimestamp_to_asc
chức năng.
pgtypes_ts_err_einftime
Giá trị dấu thời gian vô hạn đã gặp phải trong bối cảnh không thể xử lý nó.
pgtypesinvalidtimestamp
Giá trị thời gian loại đại diện cho dấu thời gian không hợp lệ. Điều này được trả về bởi chức năngpgtypestimestamp_from_asc
về lỗi phân tích cú pháp. Lưu ý rằng do biểu diễn nội bộ tỷ lệ kèo bóng đáTimestamp
Kiểu dữ liệu,pgtypesinvalidtimestamp
cũng là một dấu thời gian hợp lệ cùng một lúc. Nó được đặt thành1899-12-31 23:59:59
. Để phát hiện lỗi, hãy đảm bảo rằng ứng dụng tỷ lệ kèo bóng đá bạn không chỉ kiểm trapgtypesinvalidtimestamp
nhưng cũng cho74061_74073
Sau mỗi cuộc gọi đếnpgtypestimestamp_from_asc
.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm tỷ lệ kèo bóng đá bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.