7 use,
intrinsic :: iso_c_binding
13 type,
bind(C),
public :: DATE_STRUCT
14 integer(c_short),
public :: year
15 integer(c_short),
public :: month
16 integer(c_short),
public :: day
19 type,
bind(C),
public :: TIME_STRUCT
20 integer(c_short),
public :: hour
21 integer(c_short),
public :: minute
22 integer(c_short),
public :: second
25 type,
bind(C),
public :: TIMESTAMP_STRUCT
26 integer(c_short),
public :: year
27 integer(c_short),
public :: month
28 integer(c_short),
public :: day
29 integer(c_short),
public :: hour
30 integer(c_short),
public :: minute
31 integer(c_short),
public :: second
32 integer(C_INT),
public :: fraction
36 enumerator :: SQL_IS_YEAR = 1
37 enumerator :: SQL_IS_MONTH = 2
38 enumerator :: SQL_IS_DAY = 3
39 enumerator :: SQL_IS_HOUR = 4
40 enumerator :: SQL_IS_MINUTE = 5
41 enumerator :: SQL_IS_SECOND = 6
42 enumerator :: SQL_IS_YEAR_TO_MONTH = 7
43 enumerator :: SQL_IS_DAY_TO_HOUR = 8
44 enumerator :: SQL_IS_DAY_TO_MINUTE = 9
45 enumerator :: SQL_IS_DAY_TO_SECOND = 10
46 enumerator :: SQL_IS_HOUR_TO_MINUTE = 11
47 enumerator :: SQL_IS_HOUR_TO_SECOND = 12
48 enumerator :: SQL_IS_MINUTE_TO_SECOND = 13
50 integer,
parameter,
public :: SQLINTERVAL = kind(sql_is_year)
51 public :: sql_is_year, sql_is_month, sql_is_day, sql_is_hour, sql_is_minute, sql_is_second, sql_is_year_to_month, &
52 sql_is_day_to_hour, sql_is_day_to_minute, sql_is_day_to_second, sql_is_hour_to_minute, sql_is_hour_to_second, &
53 sql_is_minute_to_second
55 type,
bind(C),
public :: SQL_YEAR_MONTH_STRUCT
56 integer(C_INT),
public :: year
57 integer(C_INT),
public :: month
60 type,
bind(C),
public :: SQL_DAY_SECOND_STRUCT
61 integer(C_INT),
public :: day
62 integer(C_INT),
public :: hour
63 integer(C_INT),
public :: minute
64 integer(C_INT),
public :: second
65 integer(C_INT),
public :: fraction
67 integer(C_INT),
parameter,
public :: SQL_MAX_NUMERIC_LEN = 16_c_int
69 type,
bind(C),
public :: SQL_NUMERIC_STRUCT
70 character(kind=c_char),
public :: precision
71 integer(C_SIGNED_CHAR),
public :: scale
72 character(kind=c_char),
public :: sign
73 integer(C_SIGNED_CHAR),
dimension(16),
public :: val
76 type,
bind(C),
public :: SQLGUID
77 integer(c_long),
public :: Data1
78 integer(c_short),
public :: Data2
79 integer(c_short),
public :: Data3
80 integer(C_SIGNED_CHAR),
dimension(8),
public :: Data4