PostgreSQL: soi kèo bóng đá | |||
---|---|---|---|
prev | UP | Chương 33.ECPG- nhúngSQLtrong C | NEXT |
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 kèo bóng đá euroPostgreSQLMáy chủ. Xem ví dụ sau:
EXEC SQL BẮT ĐẦU phần khai báo;
kèo bóng đá euro số chức năng nhưpgtypesnumeric_to_asc
Trả lại kèo bóng đá euro 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 kèo bóng đá euro 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 kèo bóng đá euro cách linh hoạt.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.
Các chức năng sau đây có thể được sử dụng để hoạt động với loại số:
pgtypesnumeric_new
Yêu cầu kèo bóng đá euro con trỏ tới kèo bóng đá euro biến 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ớ kèo bóng đá euro nó.
void pgtypesnumeric_free (số *var);
pgtypesnumeric_from_asc
phân tích loại số từ ký hiệu chuỗi kèo bóng đá euro nó.
Số *pgtypesnumeric_from_asc (char *str, char ** endptr);
Định dạng hợp lệ là ví dụ:-2, .794, +3.44, 592.49E07hoặc-32.84e-4. Nếu giá trị có thể được phân tích cú pháp thành công, kèo bóng đá euro con trỏ hợp lệ sẽ được trả về, nếu không, con trỏ null.*EndPtr. Bạn có thể đặt kèo bóng đá euro cách an toànendptrđến null.
pgtypesnumeric_to_asc
Trả về kèo bóng đá euro con trỏ cho kèo bóng đá euro chuỗi được phân bổ bởimalloc
Có chứa biểu diễn chuỗi kèo bóng đá euro loại sốnum.
char *pgtypesnumeric_to_asc (Numeric *num, int dscale);
Giá trị số sẽ được in bằngDSCALEchữ 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 biến số vào kèo bóng đá euro biến thứ ba.
int pgtypesnumeric_add (số *var1, số *var2, số *result
Hàm thêm các biếnVAR1vàvar2vào biến 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 biến số và trả về kết quả trong kèo bóng đá euro phần ba.
int pgtypesnumeric_sub (số *var1, số *var2, số *kết quả);
Hàm trừ biếnvar2Từ biếnVAR1. Kết quả kèo bóng đá euro 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 biến số và trả về kết quả trong kèo bóng đá euro phần ba.
int pgtypesnumeric_mul (số *var1, số *var2, số *kết quả);
Hàm nhân lên các biếnvar1vàvar2. Kết quả kèo bóng đá euro 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_div
Chia hai biến số và trả về kết quả trong kèo bóng đá euro phần ba.
int pgtypesnumeric_div (số *var1, số *var2, số *kết quả);
Hàm chia các biếnVAR1bởivar2. Kết quả kèo bóng đá euro 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 biến số.
int pgtypesnumeric_cmp (số *var1, số *var2)
Hàm này so sánh hai biến số. Trong trường hợp lỗi,int_maxđược trả về. Khi thành công, chức năng trả về kèo bóng đá euro trong ba kết quả có thể:
1, nếuVAR1lớn hơnvar2
-1, nếuvar1nhỏ hơnvar2
0, nếuvar1vàvar2bằng nhau
pgtypesnumeric_from_int
Chuyển đổi biến INT thành biến số.
int pgtypesnumeric_from_int (đã ký int int_val, số *var);
Hàm này chấp nhận kèo bóng đá euro biến số đã ký int và lưu trữ nó trong biến 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 biến int dài thành biến số.
16326_16397
Hàm này chấp nhận kèo bóng đá euro biến số có chữ ký dài và lưu trữ nó trong biến 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 kèo bóng đá euro biến số vào kèo bóng đá euro biến khác.
int pgtypesnumeric_copy (số *src, số *dst);
Hàm này sao chép giá trị kèo bóng đá euro biếnSRCchỉ vào biến đóDSTĐiểm đến. Nó trả về 0 khi thành công và -1 nếu xảy ra lỗi.
pgtypesnumeric_from_double
Chuyển đổi kèo bóng đá euro biến loại đôi thành số.
int pgtypesnumeric_from_double (Double D, Numeric *dst);
Hàm này chấp nhận một biến kèo bóng đá euro loại đôi 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 biến kèo bóng đá euro loại thành gấp đôi.
int pgtypesnumeric_to_double (số *nv, double *dp)
Hàm chuyển đổi giá trị số từ biến đóNVchỉ vào biến 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.errnosẽ được đặt thànhpgtypes_num_overflowNgoài ra.
pgtypesnumeric_to_int
Chuyển đổi kèo bóng đá euro biến số loại thành int.
int pgtypesnumeric_to_int (số *nv, int *ip);
Hàm chuyển đổi giá trị số từ biến đóNVchỉ vào biến số nguyênIPĐ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.errnosẽ được đặt thànhpgtypes_num_overflowNgoài ra.
pgtypesnumeric_to_long
Chuyển đổi kèo bóng đá euro biến số loại thành dài.
int pgtypesnumeric_to_long (số *nv, long *lp);
Hàm chuyển đổi giá trị số từ biến đóNVchỉ vào biến 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.errnosẽ được đặt thànhpgtypes_num_overflowNgoài ra.
pgtypesnumeric_to_decimal
Chuyển đổi một biến số kèo bóng đá euro 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ừ biến đóSRCchỉ vào biến 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.errnosẽ được đặt thànhpgtypes_num_overflowNgoài ra.
pgtypesnumeric_from_decimal
Chuyển đổi kèo bóng đá euro biến 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ừ biến đóSRCchỉ vào biến số màDSTĐiểm đến. Nó trả về 0 khi thành công và -1 nếu xảy ra lỗi.
Loại ngày trong C cho phép các chương trình kèo bóng đá euro bạn xử lý dữ liệu kèo bóng đá euro ngày 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 để làm việc với loại kèo bóng đá euro:
pgtypesdate_from_timestamp
Trích xuất phần kèo bóng đá euro từ dấu thời gian.
kèo bóng đá euro pgtypesdate_from_timestamp (dấu thời gian dt);
Hàm nhận được dấu thời gian làm đối số duy nhất kèo bóng đá euro 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 kèo bóng đá euro nó.
kèo bóng đá euro pgtypesdate_from_asc (char *str, char ** endptr);
Hàm nhận được c char* chuỗistrvà kèo bóng đá euro con trỏ tới c char* chuỗiendptr. 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ỉ kèo bóng đá euro ký tự không hợp lệ đầu tiên trong*EndPtr. Bạn có thể đặt kèo bóng đá euro cách an toànendptrđến null.
Lưu ý rằng hàm luôn giả định kèo bóng đá euro có định dạng mdy và hiện tại không có biến nào để thay đổi trong ECPG.
Bảng 33-2Hiển thị các định dạng đầu vào được phép.
Bảng 33-2. Định dạng đầu vào hợp lệ chopgtypesdate_from_asc
INPUT | result |
---|---|
kèo bóng đá euro 8 tháng 1 năm 1999 | kèo bóng đá euro 8 tháng 1 năm 1999 |
1999-01-08 | kèo bóng đá euro 8 tháng 1 năm 1999 |
1/8/1999 | kèo bóng đá euro 8 tháng 1 năm 1999 |
1/18/1999 | kèo bóng đá euro 18 tháng 1 năm 1999 |
01/02/03 | kèo bóng đá euro 1 tháng 2 năm 2003 |
1999-JAN-08 | kèo bóng đá euro 8 tháng 1 năm 1999 |
Jan-08-1999 | kèo bóng đá euro 8 tháng 1 năm 1999 |
08-Jan-1999 | kèo bóng đá euro 8 tháng 1 năm 1999 |
99-JAN-08 | kèo bóng đá euro 8 tháng 1 năm 1999 |
08-Jan-99 | kèo bóng đá euro 8 tháng 1 năm 1999 |
08-JAN-06 | kèo bóng đá euro 8 tháng 1 năm 2006 |
Jan-08-99 | kèo bóng đá euro 8 tháng 1 năm 1999 |
19990108 | ISO 8601; kèo bóng đá euro 8 tháng 1 năm 1999 |
990108 | ISO 8601; kèo bóng đá euro 8 tháng 1 năm 1999 |
1999.008 | Năm và kèo bóng đá euro trong năm |
J2451187 | kèo bóng đá euro Julian |
kèo bóng đá euro 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 kèo bóng đá euro biến ngày.
char *pgtypesdate_to_asc (kèo bóng đá euro ddate);
Hàm nhận kèo bóng đá euroddatelà tham số duy nhất kèo bóng đá euro 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 kèo bóng đá euro loại ngày.
void pgtypesdate_julmdy (kèo bóng đá euro d, int *mdy);
Hàm nhận kèo bóng đá euroDvà kèo bóng đá euro con trỏ tới kèo bóng đá euro mảng gồm 3 giá trị số nguyê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.
pgtypesdate_mdyjul
Tạo giá trị ngày từ một mảng gồm 3 số nguyên chỉ định ngày, tháng và năm kèo bóng đá euro ngày.
void pgtypesdate_mdyjul (int *mdy, kèo bóng đá euro *jdate);
Hàm nhận được mảng kèo bóng đá euro 3 số nguyên (mdy) là đối số đầu tiên kèo bóng đá euro nó và là đối số thứ hai kèo bóng đá euro nó, một con trỏ tới một biến kèo bóng đá euro loại ngày sẽ giữ kết quả kèo bóng đá euro hoạt động.
pgtypesdate_dayofweek
Trả về một số đại diện cho kèo bóng đá euro trong tuần cho một giá trị kèo bóng đá euro.
int pgtypesdate_dayofweek (kèo bóng đá euro d);
Hàm nhận được biến kèo bóng đá euroDLà đối số duy nhất kèo bóng đá euro 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 kèo bóng đá euro hiện tại.
void pgtypesdate_today (kèo bóng đá euro *d);
Hàm nhận được một con trỏ tới một biến kèo bóng đá euro (D) rằng nó đặt đến kèo bóng đá euro hiện tại.
pgtypesdate_fmt_asc
Chuyển đổi một biến kèo bóng đá euro loại ngày 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 pgtypesdate_fmt_asc (kèo bóng đá euro ddate, char *fmtstring, char *outbuf);
Hàm nhận kèo bóng đá euro để chuyển đổi (ddate), Mặt nạ định dạng (FMTSTRING) và chuỗi sẽ giữ biểu diễn văn bản kèo bóng đá euro 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 kèo bóng đá euro ngày trong tháng.
mm- Số lượng kèo bóng đá euro tháng trong năm.
YY- Số lượng kèo bóng đá euro năm dưới dạng số hai chữ số.
Yyyy- Số lượng kèo bóng đá euro năm dưới dạng số bốn chữ số.
DDD- Tên kèo bóng đá euro ngày (viết tắt).
MMM- Tên kèo bóng đá euro 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 33-3Cho biết kèo bóng đá euro vài định dạng có thể. Điều này sẽ cho bạn kèo bóng đá euro ý tưởng về cách sử dụng chức năng này.
Bảng 33-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, kèo bóng đá euro 23 tháng 11 năm 1959 |
(DDD) MMM. DD, Yyyy | (Thứ Hai) kèo bóng đá euro 23 tháng 11 năm 1959 |
pgtypesdate_defmt_asc
Sử dụng mặt nạ định dạng để chuyển đổi Cchar*Chuỗi thành giá trị kèo bóng đá euro loại ngày.
int pgtypesdate_defmt_asc (kèo bóng đá euro *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ả kèo bóng đá euro hoạt động (D), Mặt nạ định dạng để sử dụng để phân tích kèo bóng đá euro (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.YYhoặcYyyychỉ ra vị trí kèo bóng đá euro năm,mmĐể chỉ ra vị trí kèo bóng đá euro tháng vàDDĐể chỉ ra vị trí kèo bóng đá euro ngày.
Bảng 33-4Cho biết kèo bóng đá euro 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 33-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 |
ddmmyy | 130464 | 1964-04-13 |
mmm.dd.yyyy | Mar-12-1967 | 1967-03-12 |
yy/mm/dd | 1954, kèo bóng đá euro 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 kèo bóng đá euro thứ 28 | 2525-07-28 |
DD-MM-YY | Tôi đã nói vào kèo bóng đá euro 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 | kèo bóng đá euro 28 tháng 10 năm 1975 | 1975-10-28 |
MMDDYY | kèo bóng đá euro 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 kèo bóng đá euro bạn đối phó với dữ liệu kèo bóng đá euro 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 kèo bóng đá euro nó thành một biến dấu thời gian.
Timestamp pgtypestimestamp_from_asc (char *str, char ** endptr);
Hàm nhận chuỗi để phân tích.str) và kèo bóng đá euro 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ỉ kèo bóng đá euro ký tự không hợp lệ đầu tiên trong*EndPtr. Bạn có thể đặt kèo bóng đá euro cách an toànENDPTRđến null.
Hàm trả về thời gian phân tích cú pháp 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 kèo bóng đá euro 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ợ.POSTGRESQLMáy chủ làm chẳng hạn. Các nhà xác định thời gian bị loại bỏ âm thầm.
Bảng 33-5Chứa kèo bóng đá euro vài ví dụ cho chuỗi đầu vào.
Bảng 33-5. Định dạng đầu vào hợp lệ chopgtypestimestamp_from_asc
đầu vào | Kết quả |
---|---|
1999-01-08 04:05:06 | 1999-01-08 04:05:06 |
kèo bóng đá euro 8 tháng 1 04:05:06 1999 PST | 1999-01-08 04:05:06 |
1999-JAN-08 04: 05: 06.789-8 | 36568_36623 |
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 kèo bóng đá euro thành chuỗi c char*.
37016_37066
Hàm nhận được dấu thời gianTSTAMPLà đối số duy nhất kèo bóng đá euro nó và trả về một chuỗi được phân bổ có chứa biểu diễn văn bản kèo bóng đá euro 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.
void pgtypestimestamp_civers
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.
pgtypestimestamp_fmt_asc
Chuyển đổi biến dấu thời gian thành c char c* sử dụng mặt nạ định dạng.
37962_38049
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 kèo bóng đá euro nó (TS), kèo bóng đá euro con trỏ tới bộ đệm đầu ra (OUTPUT), Độ 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à xác định đị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 kèo bóng đá euro định dạng được sử dụng trongstrftime
chức năng trongLIBC. 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 kèo bóng đá euro tên đầy đủ trong tuần.
%A- được thay thế bằng đại diện quốc gia kèo bóng đá euro tên tuần được viết tắt.
%B- được thay thế bằng đại diện quốc gia kèo bóng đá euro toàn bộ tên tháng.
%B- được thay thế bằng đại diện quốc gia kèo bóng đá euro 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à kèo bóng đá euro.
%D- tương đương với%m/%d/%y.
%D- được thay thế bằng kèo bóng đá euro trong tháng dưới dạng số thập phân (01-31).
%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ó kèo bóng đá euro được đề cập).
%E- được thay thế bằng ngày kèo bóng đá euro tháng dưới dạng số thập phân (1-31); 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 kèo bóng đá euro tuần).
%g- được thay thế bằng cùng năm với%g, nhưng như kèo bóng đá euro số thập phân không có thế kỷ (00-99).
%H-được thay thế bằng giờ (đồng hồ 24 giờ) dưới dạng số thập phân (00-23).
%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-12).
%J- được thay thế bằng kèo bóng đá euro trong năm dưới dạng số thập phân (001-366).
%K-được thay thế bằng giờ (đồng hồ 24 giờ) dưới dạng số thập phân (0-23); 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-12); 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-59).
%m- được thay thế bằng tháng dưới dạng số thập phân (01-12).
%N- được thay thế bằng kèo bóng đá euro dòng mới.
%O*- giống như%E*.
%P- được thay thế bằng đại diện quốc gia kèo bóng đá euro"ante meridiem"hoặc"Đăng meridiem"khi 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-60).
%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- được thay thế bằng kèo bóng đá euro tab.
%U- được thay thế bằng số tuần kèo bóng đá euro năm (Chủ nhật là ngày đầu tiên kèo bóng đá euro tuần) dưới dạng số thập phân (00-53).
%u- được thay thế bằng ngày trong tuần (thứ Hai là ngày đầu tiên kèo bóng đá euro tuần) dưới dạng số thập phân (1-7).
%V- được thay thế bằng số tuần kèo bóng đá euro năm (thứ Hai là ngày đầu tiên kèo bóng đá euro tuần) dưới dạng số thập phân (01-53). 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;
%V- tương đương với%e-%b-%y.
%W- được thay thế bằng số tuần kèo bóng đá euro năm (thứ Hai là ngày đầu tiên kèo bóng đá euro tuần) dưới dạng số thập phân (00-53).
%W- được thay thế bằng kèo bóng đá euro trong tuần (Chủ nhật là kèo bóng đá euro đầu tiên trong tuần) dưới dạng số thập phân (0-6).
%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 kèo bóng đá euro ngày.
%y- được thay thế bằng năm bằng thế kỷ như kèo bóng đá euro số thập phân.
%y- được thay thế bởi năm không có thế kỷ như kèo bóng đá euro số thập phân (00-99).
%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 kèo bóng đá euro 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 kèo bóng đá euro 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*- Tiện ích mở rộng GNU LIBC. Chỉ định rõ ràng số 0 cho phần đệm.
%%- được thay thế bằng%.
pgtypestimestamp_sub
Trừ một dấu thời gian từ cái khác và lưu kết quả trong một biến kèo bóng đá euro khoảng thời gian.
45675_45748
Hàm sẽ trừ biến dấu thời gian đóTS2Cá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.
pgtypestimestamp_defmt_asc
phân tích giá trị 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.
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 kèo bóng đá euro dấu thời gian trong biếnstrcũng như mặt nạ định dạng để sử dụng trong biếnFMT. Kết quả sẽ được lưu trữ trong biếnDĐiểm đến.
Nếu mặt nạ định dạngFMTlà 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 biến khoảng vào biến dấu thời gian.
int pgtypestimestamp_add_interval (dấu thời gian *tin, khoảng *span, dấu thời gian *tout);
Hàm nhận được kèo bóng đá euro con trỏ tới biến dấu thời giantinvà kèo bóng đá euro con trỏ tới kèo bóng đá euro biến 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 biến đó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ừ kèo bóng đá euro biến khoảng từ biến dấu thời gian.
int pgtypestimestamp_sub_interval (dấu thời gian *tin, khoảng *span, dấu thời gian
Hàm trừ biến khoảng thời gian đóspanCác điểm từ biến dấu thời gian đóTinĐiểm và lưu kết quả vào biến đó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 kèo bóng đá euro bạn xử lý dữ liệu kèo bóng đá euro 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 thời gian:
PGTyPesInterval_New
Trả lại kèo bóng đá euro con trỏ cho biến 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ớ kèo bóng đá euro 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 kèo bóng đá euro nó.
49778_49841
hàm phân tích chuỗi đầu vàostrvà 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ỉ kèo bóng đá euro ký tự không hợp lệ đầu tiên trong*EndPtr. Bạn có thể đặt kèo bóng đá euro 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 kèo bóng đá euro nó.
char *pgtypesInterval_to_asc (khoảng *span);
Hàm chuyển đổi biến khoảng thời gian đóspanchỉ vào c char*. Đầu ra trông giống như ví dụ này:@ 1 kèo bóng đá euro 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 kèo bóng đá euro khoảng thời gian.
int pgtypesInterval_copy (khoảng
Hàm sao chép biến khoảng thời gianINTVLSRCchỉ vào biến đóintvldestĐiểm đến. Lưu ý rằng bạn cần phân bổ bộ nhớ cho biến đí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.pgtypesdecimal_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 33.15.
Các chức năng sau đây có thể được sử dụng để hoạt động với loại thập phân và không chỉ có tronglibcompatThư viện.
pgtypesdecimal_new
Yêu cầu kèo bóng đá euro con trỏ tới biến số thập phân mới được phân bổ.
thập phân *pgtypesdecimal_new (void);
pgtypesdecimal_free
miễn phí một loại thập phân, giải phóng tất cả bộ nhớ kèo bóng đá euro nó.
void pgtypesdecimal_free (thập phân *var);
Một đối số phải 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ớ kèo bóng đá euro nó không hợp lệ.
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 kèo bóng đá euro biến số thành các loại khác có thể gây ra tràn.
kèo bóng đá euro 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 kèo bóng đá euro biến số thành các loại khác có thể gây ra dòng chảy.
kèo bóng đá euro bộ phận theo 0 đã được thử.
Chuỗi kèo bóng đá euro không hợp lệ đã được chuyển chopgtypesdate_from_asc
chức năng.
Đối số không hợp lệ đã được truyền chopgtypesdate_defmt_asc
chức năng.
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
chức năng.
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.
Có sự không phù hợp trong bài tập kèo bóng đá euro/tháng/năm trongpgtypesdate_defmt_asc
chức năng.
Một ngày không hợp lệ kèo bóng đá euro giá trị tháng được tìm thấy bởipgtypesdate_defmt_asc
chức năng.
Giá trị tháng không hợp lệ đã được tìm thấy bởipgtypesdate_defmt_asc
chức năng.
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.
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ó.
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ộ kèo bóng đá euroDấu thời gianKiểu dữ liệu,pgtypesinvalidtimestampcũng là kèo bóng đá euro dấu thời gian hợp lệ cùng kèo bóng đá euro 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 kèo bóng đá euro bạn không chỉ kiểm trapgtypesinvalidtimestampnhưng cũng choerrno! = 0Sau mỗi cuộc gọi đếnpgtypestimestamp_from_asc
.