printf("*******************\n"); (5)sscanf(ac_text, "%f", &f_demo); printf("ac_text=%s,f_demo=%f\n",ac_text,f_demo); (6)sscanf(ac_text, "%lf", &f_demo); printf("ac_text=%s,f_demo=%f\n",ac_text,f_demo); (7)sscanf(ac_text, "%f", &f_demo); printf("ac_text=%s,f_demo=%lf\n",ac_text,f_demo); (sscanf(ac_text, "%lf", &f_demo); printf("ac_text=%s,f_demo=%lf\n",ac_text,f_demo); 输出的结果: ac_text=222.00,d_demo=0.000000 ac_text=222.00,d_demo=222.000000 ac_text=222.00,d_demo=222.000032 ac_text=222.00,d_demo=222.000000 ******************* ac_text=222.00,f_demo=222.000000 ac_text=222.00,f_demo=0.000000 ac_text=222.00,f_demo=222.000000 ac_text=222.00,f_demo=0.000000 d_demo=atof(ac_text); printf("ac_text=%s,atof(ac_text)=%f\n",ac_text,d_demo); d_demo=atof(ac_text); printf("ac_text=%s,atof(ac_text)=%lf\n",ac_text,d_demo); f_demo=atof(ac_text); printf("ac_text=%s,atof(ac_text)=%f\n",ac_text,f_demo); f_demo=atof(ac_text); printf("ac_text=%s,atof(ac_text)=%lf\n",ac_text,f_demo); 输出的结果: ac_text=222.00,atof(ac_text)=1243288.000000 ac_text=222.00,atof(ac_text)=1243288.000000 ac_text=222.00,atof(ac_text)=1243288.000000 ac_text=222.00,atof(ac_text)=1243288.000000 从上面的结果可见: DOUBLE型应采用sscanf(ac_app_capcity, "%lf", &d_app); 打印用"%lf","%f" 都可以. (2),(4)正确 FLOAT型应采用sscanf(ac_app_capcity, "%f", &d_app); 打印用"%lf","%f" 都可以. (5),(7)正确 采用ATOF()转换的结果都是错的,所以不要用它。 二、写表或从表中取数据时: (1)字符型与整型之间可不用转换,采用默认方式。 (2)字符型与浮点型之间可不用转换,采用默认方式。 (3)日期型与字符型之间可用TO_CHAR(),TO_DATE()。 10、PROC中的4种动态SQL简介 (1)动态SQL1: 不能是查询(SELECT)语句,并且没有宿主变量. 用法:拼一串动态SQL语句,并用EXECUTE IMMEDIATE执行,如: EXEC SQL EXECUTE IMMEDIATE "CREATE TABLE dyn1 (col1 VARCHAR2(4))"; (2)动态SQL2: 不能是查询(SELECT)语句,并且输入的宿主变量数目是知道的, 用法:拼一串动态SQL语句,用PREPARE,EXECUTE语句执行. strcpy(c_sql, "DELETE FROM EMP WHERE EMPNO = "); EXEC SQL PREPARE sql_stmt FROM :c_sql; EXEC SQL EXECUTE sql_stmt USING :emp_number; (3)动态SQL3: 用于创建动态查询, 并且要查询的字段及输入的宿主变量数目是知道的 用法: 拼一串动态SQL语句,用PREPARE分析该语句,并要定义一个CURSOR进行取值 如:如要查询的数据按一年12月放到12张表中。表名为user_fee_1mon, user_fee_2mon,....可采用动态SQL3来进行查询 strcpy(c_sql,"select c_user_id,c_user_name,to_char(t_date,'yyyy/mm/dd hh:mi:ss'),n_fee\n");
上一篇:Oracle调优(入门及提高篇)
下一篇:Oracle9i数据库设计指引全集二
|