Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2

34.6. Thư viện PGTYPES#

Bản đồ thư viện PGTYPESPostgreSQLCác loại cơ sở dữ liệu cho 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 soi kèo bóng đá truoctranPostgreSQLMáy chủ. Xem ví dụ sau:

EXEC SQL bắt đầu khai báo;

34.6.1. Chuỗi ký tự#

soi kèo bóng đá truoctran số chức năng nhưpgtypesnumeric_to_ascTrả lại soi kèo bóng đá truoctran 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_freethay 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 soi kèo bóng đá truoctran thư viện.)

34.6.2. Loại số#

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 soi kèo bóng đá truoctran cách linh hoạt.pgtypesnumeric_newpgtypesnumeric_freechứ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 soi kèo bóng đá truoctran con trỏ tới soi kèo bóng đá truoctran 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ớ soi kèo bóng đá truoctran nó.

void pgtypesnumeric_free (số *var);
pgtypesnumeric_from_asc #

phân tích loại số từ ký hiệu chuỗi soi kèo bóng đá truoctran 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, soi kèo bóng đá truoctran con trỏ hợp lệ sẽ được trả về, nếu không, con trỏ null.*EndPtr. Bạn có thể đặt soi kèo bóng đá truoctran cách an toànendptrđến null.

pgtypesnumeric_to_asc #

Trả về soi kèo bóng đá truoctran con trỏ cho soi kèo bóng đá truoctran chuỗi được phân bổ bởimallocchứa biểu diễn chuỗi soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran biến thứ ba.

int pgtypesnumeric_add (số *var1, số *var2, số *kết quả);

Hàm thêm các biếnVAR1var2và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 soi kèo bóng đá truoctran lần thứ ba.

int pgtypesnumeric_sub (số *var1, số *var2, số *result

Hàm trừ biếnvar2Từ biếnvar1. Kết quả soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran phần ba.

int pgtypesnumeric_mul (số *var1, số *var2, số *kết quả);

Hàm nhân lên các biếnvar1var2. Kết quả soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ả soi kèo bóng đá truoctran 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ề soi kèo bóng đá truoctran trong ba kết quả có thể:

  • 1, nếuVAR1lớn hơnvar2

  • -1, nếuVAR1nhỏ hơnvar2

  • 0, nếuVAR1var2bằ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 soi kèo bóng đá truoctran 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ố.

int pgtypesnumeric_from_long (có chữ ký dài int long_val, số *var);

Hàm này chấp nhận soi kèo bóng đá truoctran biến số có chữ ký Long 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 soi kèo bóng đá truoctran biến số vào soi kèo bóng đá truoctran biến khác.

int pgtypesnumeric_copy (số *src, số *dst);

Hàm này sao chép giá trị soi kèo bóng đá truoctran biếnSRCchỉ vào 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_from_double #

Chuyển đổi soi kèo bóng đá truoctran biến loại đôi thành số.

21546_21606

Hàm này chấp nhận một biến soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ả 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 soi kèo bóng đá truoctran 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 đó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.errnosẽ được đặt thànhpgtypes_num_overflowNgoài ra.

pgtypesnumeric_to_long #

Chuyển đổi soi kèo bóng đá truoctran 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 tràn và dòng chảy.errnosẽ được đặt thànhpgtypes_num_overflowvà trên dòng chảyerrnosẽ được đặt thànhpgtypes_num_underflow.

pgtypesnumeric_to_decimal #

Chuyển đổi một biến số soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ố đóDSTĐiểm đến. Nó trả về 0 khi thành công và -1 nếu xảy ra lỗi.

34.6.3. Loại soi kèo bóng đá truoctran#

Loại ngày trong C cho phép các chương trình soi kèo bóng đá truoctran bạn xử lý dữ liệu soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran:

pgtypesdate_from_timestamp #

Trích xuất phần soi kèo bóng đá truoctran từ dấu thời gian.

soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran nó.

soi kèo bóng đá truoctran pgtypesdate_from_asc (char *str, char ** endptr);

Hàm nhận được c char* chuỗistrvà 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ỉ soi kèo bóng đá truoctran ký tự không hợp lệ đầu tiên trong*EndPtr. Bạn có thể đặt soi kèo bóng đá truoctran cách an toànendptrđến null.

Lưu ý rằng hàm luôn giả định soi kèo bóng đá truoctran có định dạng MDY và ​​hiện tại không có biến nào để thay đổi trong ECPG.

Bảng 34.2Hiển thị các định dạng đầu vào được phép.

Bảng 34.2. Định dạng đầu vào hợp lệ chopgtypesdate_from_asc

INPUT result
soi kèo bóng đá truoctran 8 tháng 1 năm 1999 soi kèo bóng đá truoctran 8 tháng 1 năm 1999
1999-01-08 soi kèo bóng đá truoctran 8 tháng 1 năm 1999
1/8/1999 soi kèo bóng đá truoctran 8 tháng 1 năm 1999
1/18/1999 soi kèo bóng đá truoctran 18 tháng 1 năm 1999
01/02/03 soi kèo bóng đá truoctran 1 tháng 2 năm 2003
1999-JAN-08 soi kèo bóng đá truoctran 8 tháng 1 năm 1999
Jan-08-1999 soi kèo bóng đá truoctran 8 tháng 1 năm 1999
08-Jan-1999 soi kèo bóng đá truoctran 8 tháng 1 năm 1999
99-JAN-08 soi kèo bóng đá truoctran 8 tháng 1 năm 1999
08-Jan-99 soi kèo bóng đá truoctran 8 tháng 1 năm 1999
08-JAN-06 soi kèo bóng đá truoctran 8 tháng 1 năm 2006
Jan-08-99 soi kèo bóng đá truoctran 8 tháng 1 năm 1999
19990108 ISO 8601; soi kèo bóng đá truoctran 8 tháng 1 năm 1999
990108 ISO 8601; soi kèo bóng đá truoctran 8 tháng 1 năm 1999
1999.008 Năm và soi kèo bóng đá truoctran trong năm
J2451187 soi kèo bóng đá truoctran Julian
soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran biến ngày.

char *pgtypesdate_to_asc (soi kèo bóng đá truoctran ddate);

Hàm nhận soi kèo bóng đá truoctranddatelà tham số duy nhất soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran loại ngày.

void pgtypesdate_julmdy (soi kèo bóng đá truoctran d, int *mdy);

Hàm nhận soi kèo bóng đá truoctranDvà soi kèo bóng đá truoctran con trỏ tới soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran tháng,mdy [1]sẽ được đặt thành giá trị soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran ngày.

void pgtypesdate_mdyjul (int *mdy, soi kèo bóng đá truoctran *jdate);

Hàm nhận được mảng soi kèo bóng đá truoctran 3 số nguyên (mdy) là đối số đầu tiên soi kèo bóng đá truoctran nó và là đối số thứ hai soi kèo bóng đá truoctran nó, một con trỏ tới một biến soi kèo bóng đá truoctran loại ngày sẽ giữ kết quả soi kèo bóng đá truoctran hoạt động.

pgtypesdate_dayofweek #

Trả về một số đại diện cho soi kèo bóng đá truoctran trong tuần cho một giá trị soi kèo bóng đá truoctran.

int pgtypesdate_dayofweek (soi kèo bóng đá truoctran d);

Hàm nhận được biến soi kèo bóng đá truoctranDLà đối số duy nhất soi kèo bóng đá truoctran nó và trả về một 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ư

  • 4 - Thứ năm

  • 5 - Thứ sáu

  • 6 - Thứ bảy

pgtypesdate_today #

Nhận soi kèo bóng đá truoctran hiện tại.

void pgtypesdate_today (soi kèo bóng đá truoctran *d);

Hàm nhận được một con trỏ tới biến soi kèo bóng đá truoctran (D) rằng nó đặt đến soi kèo bóng đá truoctran hiện tại.

pgtypesdate_fmt_asc #

Chuyển đổi một biến soi kèo bóng đá truoctran loại ngày thành biểu diễn văn bản soi kèo bóng đá truoctran nó bằng mặt nạ định dạng.

int pgtypesdate_fmt_asc (soi kèo bóng đá truoctran ddate, char *fmtstring, char *outbuf);

Hàm nhận soi kèo bóng đá truoctran để chuyển đổi (ddate), Mặt nạ định dạng (FMTSTRING) và chuỗi sẽ giữ biểu diễn văn bản soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran trong tháng.

  • mm- Số lượng soi kèo bóng đá truoctran tháng trong năm.

  • YY- Số lượng soi kèo bóng đá truoctran năm dưới dạng số hai chữ số.

  • Yyyy- Số lượng soi kèo bóng đá truoctran năm dưới dạng số bốn chữ số.

  • DDD- Tên soi kèo bóng đá truoctran ngày (viết tắt).

  • MMM- Tên soi kèo bóng đá truoctran 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 34.3Cho biết soi kèo bóng đá truoctran vài định dạng có thể. Điều này sẽ cho bạn soi kèo bóng đá truoctran ý tưởng về cách sử dụng chức năng này.

Bảng 34.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, soi kèo bóng đá truoctran 23 tháng 11 năm 1959
(DDD) Mmm. DD, Yyyy (Thứ Hai) soi kèo bóng đá truoctran 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ị soi kèo bóng đá truoctran loại ngày.

int pgtypesdate_defmt_asc (soi kèo bóng đá truoctran *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ả soi kèo bóng đá truoctran hoạt động (D), Mặt nạ định dạng để sử dụng để phân tích soi kèo bóng đá truoctran (FMT) và chuỗi c char* chứa biểu diễn văn bản soi kèo bóng đá truoctran 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í soi kèo bóng đá truoctran năm,mmĐể chỉ ra vị trí soi kèo bóng đá truoctran tháng vàDDĐể chỉ ra vị trí soi kèo bóng đá truoctran ngày.

Bảng 34.4Cho biết soi kèo bóng đá truoctran 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 34.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, soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran thứ 28 2525-07-28
DD-MM-YY Tôi đã nói vào soi kèo bóng đá truoctran 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.yyy soi kèo bóng đá truoctran 28 tháng 10 năm 1975 1975-10-28
MMDDYY soi kèo bóng đá truoctran 14 tháng 11 năm 1985 1985-11-14

34.6.4. Loại dấu thời gian#

Loại dấu thời gian trong C cho phép các chương trình soi kèo bóng đá truoctran bạn xử lý dữ liệu soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran nó thành một biến dấu thời gian.

48107_48173

Hàm nhận được chuỗi để phân tích cú pháp (str) và soi kèo bóng đá truoctran 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ỉ soi kèo bóng đá truoctran ký tự không hợp lệ đầu tiên trong*EndPtr. Bạn có thể đặt soi kèo bóng đá truoctran cách an toànendptrđến null.

Hàm trả về dấu 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 soi kèo bóng đá truoctran 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 34.5Chứa soi kèo bóng đá truoctran vài ví dụ cho chuỗi đầu vào.

Bảng 34.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
soi kèo bóng đá truoctran 8 tháng 1 04:05:06 1999 PST 1999-01-08 04:05:06
1999-JAN-08 04: 05: 06.789-8 50875_50930
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 soi kèo bóng đá truoctran thành chuỗi c char*.

51601_51653

Hàm nhận được dấu thời gianTSTAMPLà đối số duy nhất soi kèo bóng đá truoctran nó và trả về một chuỗi được phân bổ có chứa biểu diễn văn bản soi kèo bóng đá truoctran 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.

52231_52280

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.

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 dưới dạng đối số đầu tiên soi kèo bóng đá truoctran nó (TS), soi kèo bóng đá truoctran 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 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 soi kèo bóng đá truoctran định dạng được sử dụng trongstrftimechứ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 soi kèo bóng đá truoctran toàn bộ tên ngày trong tuần.

  • %A- được thay thế bằng đại diện quốc gia soi kèo bóng đá truoctran tên tuần viết tắt.

  • %B- được thay thế bằng đại diện quốc gia soi kèo bóng đá truoctran tên đầy đủ.

  • %B- được thay thế bằng đại diện quốc gia soi kèo bóng đá truoctran 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à soi kèo bóng đá truoctran.

  • %D- tương đương với%m/%d/%y.

  • %D- được thay thế bằng soi kèo bóng đá truoctran 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ó soi kèo bóng đá truoctran được đề cập).

  • %E- được thay thế bằng ngày soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran tuần).

  • %g- được thay thế bằng cùng năm với%g, nhưng như soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran trong năm dưới dạng số thập phân (001 Phản366).

  • %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 Ném12).

  • %N- được thay thế bằng soi kèo bóng đá truoctran dòng mới.

  • %O*- giống như%E*.

  • %P- được thay thế bằng đại diện quốc gia soi kèo bóng đá truoctranante meridiemKhănhoặcHồiPOST 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- được thay thế bằng soi kèo bóng đá truoctran tab.

  • %U- được thay thế bằng số tuần soi kèo bóng đá truoctran năm (Chủ nhật là ngày đầu tiên soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran tuần) dưới dạng số thập phân (1 Ném7).

  • %V- được thay thế bằng số tuần soi kèo bóng đá truoctran năm (thứ Hai là ngày đầu tiên soi kèo bóng đá truoctran 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;

  • %V- tương đương với%e-%b-%y.

  • %W- được thay thế bằng số tuần soi kèo bóng đá truoctran năm (thứ Hai là ngày đầu tiên soi kèo bóng đá truoctran tuần) dưới dạng số thập phân (00 Ném53).

  • %W- được thay thế bằng ngày trong tuần (Chủ nhật là ngày đầu tiên soi kèo bóng đá truoctran tuần) dưới dạng số thập phân (0 Ném6).

  • %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 soi kèo bóng đá truoctran ngày.

  • %y- được thay thế bằng năm bằng thế kỷ như soi kèo bóng đá truoctran số thập phân.

  • %y- được thay thế bằng năm không có thế kỷ như soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran phía đông UTC, một dấu hiệu trừ về phía tây UTC, hàng 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 (hình thức phổ biến choRFC 822tiêu đề soi kèo bóng đá truoctran).

  • %+- được thay thế bằng đại diện quốc gia soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran khoảng thời gian.

64069_64144

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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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, thời gian

Hàm nhận được soi kèo bóng đá truoctran con trỏ tới biến dấu thời giantinvà soi kèo bóng đá truoctran con trỏ tới soi kèo bóng đá truoctran 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ừ soi kèo bóng đá truoctran 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 *tout);

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.

34.6.5. Loại khoảng#

Loại khoảng trong C cho phép các chương trình soi kèo bóng đá truoctran bạn xử lý dữ liệu soi kèo bóng đá truoctran 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:

PGTyPesInterval_New #

Trả lại soi kèo bóng đá truoctran 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ớ soi kèo bóng đá truoctran biến khoảng thời gian được phân bổ trước đó.

68734_68781
pgtypesInterval_from_asc #

phân tích khoảng thời gian từ biểu diễn văn bản soi kèo bóng đá truoctran nó.

69095_69160

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ỉ soi kèo bóng đá truoctran ký tự không hợp lệ đầu tiên trong*EndPtr. Bạn có thể đặt soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran nó.

char *pgtypesinterval_to_asc (khoảng *span);

Hàm chuyển đổi biến khoảng đóspanchỉ vào c char*. Đầu ra trông giống như ví dụ này:@ 1 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran khoảng thời gian.

70516_70586

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 đó.

34.6.6. Loại thập phân#

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_newpgtypesdecimal_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 34.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ó tronglibcompatThư viện.

pgtypesdecimal_new #

Yêu cầu soi kèo bóng đá truoctran 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ớ soi kèo bóng đá truoctran nó.

void pgtypesdecimal_free (thập phân *var);

34.6.7. Các giá trị errno soi kèo bóng đá truoctran pgtypeslib#

pgtypes_num_bad_numeric #

Một đối số phải chứa một biến số (hoặc chỉ vào một biến số) nhưng trên thực tế, biểu diễn trong bộ nhớ soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran biến số thành các loại khác có thể gây ra tràn.

pgtypes_num_underflow #

soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran biến số thành các loại khác có thể gây ra dòng chảy.

pgtypes_num_divide_zero #

soi kèo bóng đá truoctran bộ phận theo 0 đã được thử.

PGTYPES_DATE_BAD_DATE #

Chuỗi soi kèo bóng đá truoctran không hợp lệ đã được truyền chopgtypesdate_from_ascchức năng.

pgtypes_date_err_eargs #

Đối số không hợp lệ đã được truyền chopgtypesdate_defmt_ascchứ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_ascchức năng.

pgtypes_intvl_bad_interval #

Chuỗi khoảng thời gian không hợp lệ đã được truyền đếnpgtypesInterval_from_ascHàm hoặc giá trị khoảng không hợp lệ đã được truyền chopgtypesInterval_to_ascfunction.

pgtypes_date_err_enotdmy #

Có sự không phù hợp trong bài tập soi kèo bóng đá truoctran/tháng/năm trongpgtypesdate_defmt_ascfunction.

pgtypes_date_bad_day #

Một ngày không hợp lệ soi kèo bóng đá truoctran giá trị tháng được tìm thấy bởipgtypesdate_defmt_ascchức năng.

pgtypes_date_bad_month #

Giá trị tháng không hợp lệ được tìm thấy bởipgtypesdate_defmt_ascchức năng.

pgtypes_ts_bad_timestamp #

Chuỗi dấu thời gian không hợp lệ được truyền chopgtypestimestamp_from_ascHàm hoặc giá trị dấu thời gian không hợp lệ đã được truyền chopgtypestimestamp_to_ascchứ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ó.

34.6.8. Hằng số đặc biệt soi kèo bóng đá truoctran pgtypeslib#

pgtypesinvalidtimestamp #

Giá trị thời gian loại đại diện cho soi kèo bóng đá truoctran dấu thời gian không hợp lệ. Điều này được trả về bởi chức năngpgtypestimestamp_from_ascVề lỗi phân tích cú pháp. Lưu ý rằng do biểu diễn nội bộ soi kèo bóng đá truoctranTimestampKiểu dữ liệu,pgtypesinvalidtimestampcũng là soi kèo bóng đá truoctran dấu thời gian hợp lệ cùng soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran bạn không chỉ kiểm trapgtypesinvalidtimestampnhưng cũng choerrno! = 0Sau mỗi cuộc gọi đếnpgtypestimestamp_from_asc.

Gửi hiệu chỉnh

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ớpMẫu nàyĐể báo cáo vấn đề tài liệu.