Postgresql 9.3.25 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 33.ECPG- nhúngSQLtrong C | Tiếp theo |
Bản đồ thư viện PGTYPESPostgreSQLCác loại cơ sở dữ liệu cho C tương đương 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 để làm các tính toán cơ bản với các loại đó trong c, tức là không có Trợ giúp kèo bóng đá cúp c2PostgreSQLMáy chủ. Nhìn thấy Ví dụ sau:
EXEC SQL bắt đầu khai báo; kèo bóng đá cúp c2 kèo bóng đá cúp c2 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);
kèo bóng đá cúp c2 số chức năng nhưpgtypesnumeric_to_asc
Trả lại kèo bóng đá cúp c2 con trỏ cho A
Chuỗi ký tự được phân bổ mới. Những kết quả này nên được giải phóng
vớipgtypeschar_free
thay vìmiễn phí
. (Điều này chỉ quan trọng trên
Windows, nơi phân bổ và phát hành bộ nhớ đôi khi cần phải có
được thực hiện bởi cùng kèo bóng đá cúp c2 thư viện.)
Loại số cung cấp các tính toán với tùy ý
Độ chính xác. Nhìn thấyPhần 8.1cho
loại tương đương trongPostgreSQLMáy chủ. Vì tùy tiện
Độ chính xác biến này cần có khả năng mở rộng và thu nhỏ
động. Đó 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 kèo bóng đá cúp c2pgtypesnumeric_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 ra trên
xếp chồng 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 số kiểu:
pgtypesnumeric_new
Yêu cầu kèo bóng đá cúp c2 con trỏ tới kèo bóng đá cúp c2 biến số mới được phân bổ.
Số *pgtypesnumeric_new (void);
pgtypesnumeric_free
miễn phí loại số, giải phóng tất cả bộ nhớ kèo bóng đá cúp c2 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 đá cúp c2 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, một con trỏ hợp lệ được trả về, nếu không con trỏ null. Hiện tại ECPG luôn phân tích chuỗi hoàn chỉnh và vì vậy nó hiện không hỗ trợ lưu trữ địa chỉ kèo bóng đá cúp c2 người đầu tiên ký tự không hợp lệ trong*EndPtr. Bạn có thể Đặt kèo bóng đá cúp c2 cách an toànendptrđến null.
pgtypesnumeric_to_asc
Trả về kèo bóng đá cúp c2 con trỏ cho kèo bóng đá cúp c2 chuỗi được phân bổ bởimalloc
chứa đại diện chuỗi kèo bóng đá cúp c2
loại sốnum.
char *pgtypesnumeric_to_asc (số *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 đá cúp c2 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 đá cúp c2 phần ba kèo bóng đá cúp c2.
int pgtypesnumeric_sub (số *var1, số *var2, số *result
Hàm trừ biếnvar2Từ biếnvar1. Kết quả kèo bóng đá cúp c2 hoạt động được lưu trữ trong biếnKết quả. Hàm trả về 0 trên 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 đá cúp c2 phần ba kèo bóng đá cúp c2.
int pgtypesnumeric_mul (số *var1, số *var2, số *result
Hàm nhân lên các biếnVAR1vàvar2. Kết quả kèo bóng đá cúp c2 thao tác đượ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 đá cúp c2 phần ba kèo bóng đá cúp c2.
int pgtypesnumeric_div (số *var1, số *var2, số *result
Hàm chia các biếnVAR1bởivar2. Kết quả kèo bóng đá cúp c2 hoạt động là được lưu trữ trong biếnresult. Các chức năng 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ề. Về thành công, Hàm trả về kèo bóng đá cúp c2 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);
Chức năng này chấp nhận kèo bóng đá cúp c2 biến số đã ký int và cửa hàng nó trong biến sốvar. Trên 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ố.
16618_16690
Hàm này chấp nhận kèo bóng đá cúp c2 biến số có chữ ký dài và int 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_copy
Sao chép qua kèo bóng đá cúp c2 biến số vào kèo bóng đá cúp c2 biến khác.
int pgtypesnumeric_copy (số *src, số *dst);
Hàm này sao chép giá trị kèo bóng đá cúp c2 biếnSRCchỉ vào biến đóDSTĐiểm đến. Nó trở lại 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 đá cúp c2 biến loại đôi thành số.
int pgtypesnumeric_from_double (Double D, Numeric *dst);
Hàm này chấp nhận kèo bóng đá cúp c2 biến số đôi và lưu trữ kết quả là biến màDSTĐ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 kèo bóng đá cúp c2 biến 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ừ biến đóNVchỉ vào biến képDPĐiểm đến. Nó trở lại 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, toàn cầu biếnerrnosẽ được đặt thànhpgtypes_num_overflowNgoài ra.
pgtypesnumeric_to_int
Chuyển đổi kèo bóng đá cúp c2 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ên cái đóIPĐiểm đến. Nó trở lại 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, The Biến toàn cầuerrnosẽ được đặt thànhpgtypes_num_overflowNgoài ra.
pgtypesnumeric_to_long
Chuyển đổi kèo bóng đá cúp c2 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 số nguyên dài Biến đó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, biến toàn cầuerrnoWill được đặt thànhpgtypes_num_overflowNgoài ra.
pgtypesnumeric_to_decimal
Chuyển đổi một biến số kèo bóng đá cúp c2 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ân cái đóDSTĐiểm đến. Nó trả về 0 trên Thành công và -1 nếu xảy ra lỗi, bao gồm cả tràn. Trên tràn, biến toàn cầuerrnosẽ được đặt thànhpgtypes_num_overflowNgoài ra.
pgtypesnumeric_from_decimal
Chuyển đổi kèo bóng đá cúp c2 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ố cái đóDSTĐiểm đến. Nó trả về 0 trên Thành công và -1 nếu xảy ra lỗi. Vì loại thập phân là được triển khai dưới dạng phiên bản giới hạn kèo bóng đá cúp c2 loại số, tràn không thể xảy ra với chuyển đổi này.
Loại kèo bóng đá cúp c2 trong C cho phép các chương trình của bạn xử lý dữ liệu của kèo bóng đá cúp c2 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 để làm việc với kèo bóng đá cúp c2 kiểu:
pgtypesdate_from_timestamp
Trích xuất phần kèo bóng đá cúp c2 từ dấu thời gian.
Hàm nhận được dấu thời gian là đối số duy nhất của nó và Trả về phần kèo bóng đá cúp c2 được trích xuất từ dấu thời gian này.
pgtypesdate_from_asc
phân tích kèo bóng đá cúp c2 từ biểu diễn văn bản của nó.
kèo bóng đá cúp c2 pgtypesdate_from_asc (char *str, char ** endptr);
Hàm nhận được c char* chuỗistrvà kèo bóng đá cúp c2 con trỏ tới c char* chuỗiendptr. Hiện tại ECPG luôn phân tích cú pháp 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 đá cúp c2 ký tự không hợp lệ đầu tiên trong*EndPtr. Bạn có thể đặt kèo bóng đá cúp c2 cách an toànendptrđến null.
Lưu ý rằng chức năng luôn giả định kèo bóng đá cúp c2 và kèo bóng đá cúp c2 Hiện tại không có biến để 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 đá cúp c2 8 tháng 1 năm 1999 | kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
1999-01-08 | kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
1/8/1999 | kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
1/18/1999 | kèo bóng đá cúp c2 18 tháng 1 năm 1999 |
01/02/03 | kèo bóng đá cúp c2 1 tháng 2 năm 2003 |
1999-JAN-08 | kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
Jan-08-1999 | kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
08-Jan-1999 | kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
99-JAN-08 | kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
08-JAN-99 | kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
08-JAN-06 | kèo bóng đá cúp c2 8 tháng 1 năm 2006 |
Jan-08-99 | kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
19990108 | ISO 8601; kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
990108 | ISO 8601; kèo bóng đá cúp c2 8 tháng 1 năm 1999 |
1999.008 | năm và kèo bóng đá cúp c2 trong năm |
J2451187 | kèo bóng đá cúp c2 Julian |
kèo bóng đá cúp c2 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 của biến kèo bóng đá cúp c2.
char *pgtypesdate_to_asc (kèo bóng đá cúp c2 ddate);
Hàm nhận kèo bóng đá cúp c2ddatenhư
tham số duy nhất của nó. Nó sẽ xuất kèo bóng đá cúp c2 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 kèo bóng đá cúp c2, tháng và năm từ A biến của loại kèo bóng đá cúp c2.
void pgtypesdate_julmdy (kèo bóng đá cúp c2 d, int *mdy);
Hàm nhận kèo bóng đá cúp c2Dvà a con trỏ tới kèo bóng đá cúp c2 mảng gồm 3 giá trị số nguyênmdy. Tên biến cho biết liên tiếp đặt hàng:mdy [0]sẽ được đặt để chứa Số kèo bóng đá cúp c2 tháng,mdy [1]sẽ được đặt thành giá trị của kèo bóng đá cúp c2 vàmdy [2]Will chứa năm.
pgtypesdate_mdyjul
Tạo giá trị kèo bóng đá cúp c2 từ một mảng 3 số nguyên chỉ định kèo bóng đá cúp c2, tháng và năm của kèo bóng đá cúp c2.
void pgtypesdate_mdyjul (int *mdy, kèo bóng đá cúp c2 *jdate);
Hàm nhận được mảng kèo bóng đá cúp c2 3 số nguyên (mdy) là đối số đầu tiên của nó và là lần thứ hai của nó Đối số một con trỏ tới một biến của loại kèo bóng đá cúp c2 nên giữ kết quả của hoạt động.
pgtypesdate_dayofweek
Trả lại một số đại diện cho kèo bóng đá cúp c2 trong tuần cho một kèo bóng đá cúp c2 giá trị.
int pgtypesdate_dayofweek (kèo bóng đá cúp c2 d);
Hàm nhận được biến kèo bóng đá cúp c2DLà đối số duy nhất của nó và trả về một số nguyên đó Cho biết kèo bóng đá cúp c2 trong tuần cho kèo bóng đá cúp c2 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 đá cúp c2 hiện tại.
void pgtypesdate_today (kèo bóng đá cúp c2 *d);
Hàm nhận được một con trỏ tới một biến kèo bóng đá cúp c2 (D) rằng nó đặt đến kèo bóng đá cúp c2 hiện tại.
pgtypesdate_fmt_asc
Chuyển đổi một biến số kèo bóng đá cúp c2 thành biểu diễn văn bản của nó sử dụng mặt nạ định dạng.
int pgtypesdate_fmt_asc (kèo bóng đá cúp c2 ddate, char *fmtstring, char *outbuf);
Hàm nhận được kèo bóng đá cúp c2 để chuyển đổi (ddate), Mặt nạ định dạng (FMTSTRING) và chuỗi sẽ giữ văn bản Đại diện của kèo bóng đá cúp c2 (Outbuf).
Khi thành công, 0 được trả về và giá trị âm nếu lỗi xảy ra.
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 đá cúp c2 của kèo bóng đá cúp c2 của tháng.
mm- Số tháng kèo bóng đá cúp c2 tháng kèo bóng đá cúp c2 năm.
YY- Số lượng kèo bóng đá cúp c2 năm là hai Số chữ số.
Yyyy- Số lượng kèo bóng đá cúp c2 năm là bốn Số chữ số.
DDD- Tên của kèo bóng đá cúp c2 (viết tắt).
MMM- Tên kèo bóng đá cúp c2 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 một vài định dạng có thể. Điều này sẽ cung cấp 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 dựa trên Cùng kèo bóng đá cúp c2: 23 tháng 11 năm 1959.
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 đá cúp c2 23 tháng 11 năm 1959 |
(DDD) Mmm. DD, Yyyy | (Thứ Hai) kèo bóng đá cúp c2 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ị của loại kèo bóng đá cúp c2.
int pgtypesdate_defmt_asc (kèo bóng đá cúp c2 *d, char *fmt, char *str);
Hàm nhận được một con trỏ tới giá trị kèo bóng đá cúp c2 nên giữ kết quả của hoạt động (D), The Định dạng mặt nạ để sử dụng để phân tích kèo bóng đá cúp c2 (FMT) và chuỗi c char* chứa văn bản Đại diện của kèo bóng đá cúp c2 (str). Các 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ó bản đồ 1: 1 kèo bóng đá cúp c2 chuỗi vào Định dạng mặt nạ. Hàm chỉ phân tích thứ tự tuần tự và tìm kiếm các chữYYhoặcYyyychỉ ra vị trí kèo bóng đá cúp c2 năm,mmĐể chỉ ra vị trí kèo bóng đá cúp c2 tháng VàDDĐể chỉ ra vị trí của kèo bóng đá cúp c2.
Bảng 33-4Cho biết kèo bóng đá cúp c2 vài định dạng có thể. Điều này sẽ cung cấp cho bạn kèo bóng đá cúp c2 ý 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 đá cúp c2 3 tháng 2 | 1954-02-03 |
mmm.dd.yyyy | 041269 | 1969-04-12 |
yy/mm/dd | Trong năm 2525, vào tháng 7, Nhân loại sẽ còn sống vào kèo bóng đá cúp c2 thứ 28 | 2525-07-28 |
DD-MM-YY | Tôi đã nói vào kèo bóng đá cúp c2 28 tháng 7 trong 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 đá cúp c2 28 tháng 10 năm 1975 | 1975-10-28 |
MMDDYY | kèo bóng đá cúp c2 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 đá cúp c2 bạn xử lý dữ liệu kèo bóng đá cúp c2 dấu thời gian loại SQL. Nhìn thấyPhần 8.5Đối với loại tương đương trong ThePostgreSQLMáy chủ.
Các chức năng sau đây có thể được sử dụng để làm việc với dấu thời gian kiểu:
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 đá cúp c2 nó thành a Biến thời gian.
Timestamp pgtyPestimestamp_from_asc (char *str, char ** endptr);
Hàm nhận được chuỗi để phân tích cú pháp (str) và kèo bóng đá cúp c2 con trỏ tới c char* (endptr). Hiện tại ECPG luôn phân tích cú pháp 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 đá cúp c2 ký tự không hợp lệ đầu tiên trong*EndPtr. Bạn có thể đặt kèo bóng đá cúp c2 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 trên 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 của một đặc điểm kỹ thuật kèo bóng đá cúp c2 được phép, ký tự khoảng trắng và được phép Đặc điểm kỹ thuật thời gian. 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 cho ví dụ. 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 đá cúp c2 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
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 | 1999-01-08 04: 05: 06.789 (múi giờ người xác định bị bỏ qua) |
J2451187 04: 05-08: 00 | 1999-01-08 04:05:00 (Trình xác định múi giờ bị bỏ qua) |
pgtypestimestamp_to_asc
Chuyển đổi một kèo bóng đá cúp c2 thành chuỗi c char*.
37381_37432
Hàm nhận được dấu thời gianTSTAMPLà đối số duy nhất kèo bóng đá cúp c2 nó và trả về một phân bổ
Chuỗi chứa biểu diễn văn bản kèo bóng đá cúp c2 dấu thời gian.
Kết quả phải được giải phóng bằngpgtypeschar_free ()
.
pgtypestimestamp_cien
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* bằng cách sử dụng định dạng mặt nạ.
int pgtypestimestamp_fmt_asc (dấu thời gian *ts, char *oput
Hàm nhận được một con trỏ tới dấu thời gian để chuyển đổi thành Đối số đầu tiên kèo bóng đá cúp c2 nó (TS), kèo bóng đá cúp c2 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 cho Chuyển đổi (FMTSTR).
Sau khi thành công, hàm trả về 0 và giá trị âm nếu kèo bóng đá cúp c2 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 kèo bóng đá cúp c2 định dạng được sử dụng trongstrftime
Hàm 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ởi quốc gia Đại diện cho tên đầy đủ trong tuần.
%A- được thay thế bởi quốc gia Đại diện kèo bóng đá cúp c2 tên tuần được viết tắt.
%B- được thay thế bởi quốc gia Đại diện cho tên tháng đầy đủ.
%B- được thay thế bởi quốc gia Đại diện cho tên tháng viết tắt.
%C- được thay thế bởi (năm / 100) là số thập phân; các chữ số đơn được đi trước bằng số 0.
%C- được thay thế bởi quốc gia Đại diện của thời gian và kèo bóng đá cúp c2.
%D- tương đương với%m/%d/%y.
%D- được thay thế bằng kèo bóng đá cúp c2 của 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 %OYlà Được cho là cung cấp các biểu diễn thay thế.
Ngoài ra%OBđược triển khai đại diện cho tên tháng thay thế (được sử dụng độc lập, không có kèo bóng đá cúp c2 được nhắc đến).
%E- được thay thế bằng kèo bóng đá cúp c2 trong tháng là một 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 thập phân số với thế kỷ. Năm nay là năm có chứa lớn hơn một phần của tuần (Thứ Hai là kèo bóng đá cúp c2 đầu tiên của tuần).
%g- được thay thế bằng cùng năm với%g, nhưng dưới dạng số thập phân mà không có thế kỷ (00-99).
%H- được thay thế bằng giờ (24 giờ đồng hồ) dưới dạng số thập phân (00-23).
%H- giống như%B.
%I- được thay thế bằng giờ (12 giờ đồng hồ) dưới dạng số thập phân (01-12).
%J- được thay thế bằng kèo bóng đá cúp c2 trong năm dưới dạng số thập phân (001-366).
%K- được thay thế bằng giờ (24 giờ đồng hồ) 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ờ (12 giờ đồng hồ) như kèo bóng đá cúp c2 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 như kèo bóng đá cúp c2 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 đá cúp c2 dòng mới.
%O*- giống như%E*.
%P- được thay thế bởi quốc gia Đại diện kèo bóng đá cúp c2 một trong hai"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 thứ hai dưới dạng Số thập phân (00-60).
%s- được thay thế bằng số lượng giây kể từ thời đại, utc.
%T- tương đương với%H:%M:%s
%T- được thay thế bằng kèo bóng đá cúp c2 tab.
%U- được thay thế bằng số tuần của năm (Chủ nhật là kèo bóng đá cúp c2 đầu tiên của tuần) là một số thập phân (00-53).
%U- được thay thế bằng kèo bóng đá cúp c2 trong tuần (Thứ Hai là kèo bóng đá cúp c2 đầu tiên trong tuần) như một số thập phân (1-7).
%V- được thay thế bằng số tuần của năm (thứ Hai là kèo bóng đá cúp c2 đầu tiên của tuần) là một số thập phân (01-53). Nếu tuần chứa kèo bóng đá cúp c2 1 tháng 1 có bốn kèo bóng đá cúp c2 trở lên Năm mới, sau đó là tuần 1; nếu không thì đó là tuần cuối cùng của 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 của năm (thứ Hai là kèo bóng đá cúp c2 đầu tiên của tuần) là một số thập phân (00-53).
%W- được thay thế bằng kèo bóng đá cúp c2 trong tuần (Chủ nhật là kèo bóng đá cúp c2 đầu tiên trong tuần) như một số thập phân (0-6).
%x- được thay thế bởi quốc gia Đại diện kèo bóng đá cúp c2 thời gian.
%x- được thay thế bởi quốc gia Đại diện của kèo bóng đá cúp c2.
%y- được thay thế bằng năm bằng thế kỷ như kèo bóng đá cúp c2 số thập phân.
%y- được thay thế bởi năm mà không có thế kỷ như kèo bóng đá cúp c2 số thập phân (00-99).
%Z- được thay thế bằng múi giờ tên.
%Z- được thay thế bằng múi giờ bù đắp từ UTC; Một dấu hiệu cộng với dấu hiệu là viết tắt của phía đông UTC, một dấu hiệu trừ đi về phía tây UTC, giờ và phút theo sau với hai Chữ số mỗi và không có dấu phân cách giữa chúng (mẫu phổ biến cho RFC 822 tiêu đề kèo bóng đá cúp c2).
%+- được thay thế bởi quốc gia Đại diện của kèo bóng đá cúp c2 và giờ.
%-*- Tiện ích mở rộng GNU LIBC. Không làm bất kỳ Đệm khi thực hiện đầu ra số.
$ _* - tiện ích mở rộng GNU LIBC. Chỉ định rõ ràng không gian cho đệm.
%0*- Tiện ích mở rộng GNU LIBC. Rõ ràng Chỉ định số 0 cho phần đệm.
%%- được thay thế bằng%.
pgtypestimestamp_sub
Trừ kèo bóng đá cúp c2 dấu thời gian từ cái khác và lưu kết quả trong kèo bóng đá cúp c2 Biến số khoảng thời gian.
46062_46136
Hàm sẽ trừ biến dấu thời gian đóTS2Các điểm từ biến dấu thời gian cái đóTS1Điểm đến và sẽ lưu trữ dẫn đến 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 kèo bóng đá cúp c2 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 đá cúp c2 nó bằng cách sử dụng một Định dạng mặt nạ.
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 đá cúp c2 dấu thời gian trong biếnstrcũng như Định dạng mặt nạ để 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, The 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ề
Định dạng các mục mặt nạ.
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 đá cúp c2 con trỏ tới biến dấu thời giantinvà kèo bóng đá cúp c2 con trỏ tới kèo bóng đá cúp c2 biến khoảngspan. Nó thêm khoảng vào Dấu thời gian và lưu dấu thời gian kết quả trong biếnToutĐiểm đến.
Khi thành công, hàm trả về 0 và giá trị âm nếu kèo bóng đá cúp c2 xảy ra lỗi.
pgtypestimestamp_sub_interval
Trừ kèo bóng đá cúp c2 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À TIẾT KIỆM 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 kèo bóng đá cúp c2 xảy ra lỗi.
Loại khoảng thời gian trong C cho phép các chương trình kèo bóng đá cúp c2 bạn xử lý dữ liệu kèo bóng đá cúp c2 khoảng thời gian loại SQL. Nhìn thấyPhần 8.5Đối với loại tương đương trong ThePOSTGRESQLMáy chủ.
Các chức năng sau đây có thể được sử dụng để hoạt động với khoảng thời gian kiểu:
PGTyPesInterval_New
Trả lại kèo bóng đá cúp c2 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 đá cúp c2 một khoảng thời gian được phân bổ trước đó Biến.
void pgtypesInterval_new (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 đá cúp c2 nó.
50188_50252
hàm phân tích chuỗi đầu vàostrvà trả lại một con trỏ cho một khoảng thời gian được phân bổ biến. Hiện tại ECPG luôn phân tích chuỗi hoàn chỉnh và Vì vậy, hiện tại nó không hỗ trợ để lưu trữ địa chỉ kèo bóng đá cúp c2 người đầu tiên ký tự không hợp lệ trong*EndPtr. Bạn có thể Đặt kèo bóng đá cúp c2 cách an toànENDPTRđến null.
pgtypesInterval_to_asc
Chuyển đổi một biến số loại thành văn bản kèo bóng đá cúp c2 nó đại diệ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 đá cúp c2 12 giờ 59 phút 10
Secs. 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 đá cúp c2 khoảng thời gian.
51396_51465
Hàm sao chép biến khoảng thời gian đóINTVLSRCchỉ 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ó là
giới hạn ở độ chính xác tối đa là 30 chữ số quan trọng. TRONG
tương phản 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 chức năngpgtypesdecimal_new
vàpgtypesdecimal_free
). Có rất nhiều
các chức năng 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 để làm việc với số thập phân Loại và không chỉ chứa tronglibcompatThư viện.
pgtypesdecimal_new
Yêu cầu kèo bóng đá cúp c2 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 đá cúp c2 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 a biến số) nhưng trên thực tế, đại diện trong bộ nhớ kèo bóng đá cúp c2 nó là không hợp lệ.
xảy ra tràn. Vì loại số có thể đối phó với độ chính xác gần như tùy ý, chuyển đổi kèo bóng đá cúp c2 biến số thành Các loại khác có thể gây ra tràn.
kèo bóng đá cúp c2 dòng chảy xảy ra. Vì loại số có thể đối phó với độ chính xác gần như tùy ý, chuyển đổi kèo bóng đá cúp c2 biến số thành Các loại khác có thể gây ra dòng chảy.
kèo bóng đá cúp c2 bộ phận theo 0 đã được cố gắng.
Chuỗi kèo bóng đá cúp c2 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 chopgtypesInterval_from_asc
Hàm hoặc không hợp lệ
Giá trị khoảng được chuyển chopgtypesInterval_to_asc
chức năng.
Có sự không phù hợp trong bài tập kèo bóng đá cúp c2/tháng/năm trongpgtypesdate_defmt_asc
chức năng.
Một kèo bóng đá cúp c2 không hợp lệ của 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
chức năng hoặc không hợp lệ
Giá trị dấu thời gian đượ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 mà 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. Ghi chú
do đại diện bên trong kèo bóng đá cúp c2TimestampKiểu dữ liệu,pgtypesinvalidtimestampcũng là kèo bóng đá cúp c2 dấu thời gian hợp lệ tại
đồng thời. 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 không chỉ kiểm trapgtypesinvalidtimestampnhưng cũng choerrno! = 0Sau mỗi cuộc gọi đếnpgtypestimestamp_from_asc
.