一、
1、SQL與C數(shù)據(jù)類型的對(duì)應(yīng)
簡(jiǎn)單類型
SQL C
CHAR(n) char(n+1)
CHARCTER(n) char *
SMALLINT short int
INTERGER
INT long int
SMALLFLOAT
REAL float
FLOAT
DOUBLE PRECISIONdouble
SERIAL long int
DATE long int
復(fù)雜類型
SQL C
DECIMAL
DEC NUMERIC dec_t or struct decimal
MONEY dec_t or struct decimal
DATETIME dtime_t or struct dtime
INREVER intrvl_t or struct intrvl
VARCHAR varchar or string
6、提供DATETIME和INTERVAL算術(shù)操作的函數(shù)
rdtaddinv(dec_t *dt, int dg, dec_t *in, int iq, dec_t *sum) 把一個(gè)INTERVAL值加到一個(gè)DATETIME值上。
rdtsub(det_t *dt2, int dq2, dec_t *dt1, int dq1, dec_t *dt0, int dq0) 求兩個(gè)DATETIME值的差。
7、DATE類型和DATETIME類型之間的轉(zhuǎn)換
DATE→DATETIME
?;定義一個(gè)帶有修飾符“year to day”的DATETIME變量
?;使用rfmtdate()函數(shù)把DATE值轉(zhuǎn)換為一個(gè)字符串,使用的模板是yyyy-mm-dd
?;使用dtcvasc()函數(shù)把字符串轉(zhuǎn)換成DATETIME類型變量的值。
?;如果需要的話,可以使用dtextend()函數(shù)來(lái)調(diào)整DATETIME的修飾符。
DATETIME→DATE
?;使用dtextend()函數(shù)把DATETIME的修飾符調(diào)整為“year to day”。
?;使用dttoasc()函數(shù)以模板yyyy-mm-dd創(chuàng)建一個(gè)字符串。
?;使用rdefmtdate()函數(shù)以模板yyyy-mm-dd把字符串轉(zhuǎn)換為一個(gè)DATE值。
8、有關(guān)DATETIME和INTERVAL值的其他運(yùn)算
rinvtodec(dec_t *v, int q, dec_t *dec) 把INTERVAL或DATETIME類型的值轉(zhuǎn)換成DECIMAL類型
redectoinv(dec_t *dec, dec_t *v, int q) 把DECIMAL值轉(zhuǎn)換成INTERVAL或DATETIME類型值