sql数据库 文本含两个小数点属于什么数据类型

sql数据库 文本含两个小数点属于什么数据类型,第1张

14是精度,2是小数位数

numeric[(p[, s])]

定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)。

p(精度)

指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。

s(小数位数)

指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。

请注意!小数据位数可以不添,这样就是默认为整数了。

14是精度,2是小数位数

numeric[(p[, s])]

定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)。

p(精度)

指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。

s(小数位数)

指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。

请注意!小数据位数可以不添,这样就是默认为整数了。

常用的数据库字段类型如下:

字段类型 中文说明 限制条件 其它说明

CHAR 固定长度字符串 最大长度2000 bytes

VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749

NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes

NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes

DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题

LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作

RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等

LONG RAW 可变长度的二进制数据 最大长度2G 同上

BLOB 二进制数据 最大长度4G

CLOB 字符数据 最大长度4G

NCLOB 根据字符集而定的字符数据 最大长度4G

BFILE 存放在数据库外的二进制数据 最大长度4G

ROWID 数据表中记录的唯一行号 10 bytes 格式,为0或1

NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes

NUMBER(P,S) 数字类型 P为整数位,S为小数位

DECIMAL(P,S) 数字类型 P为整数位,S为小数位

INTEGER 整数类型 小的整数

FLOAT 浮点数类型 NUMBER(38),双精度

REAL 实数类型 NUMBER(63),精度更高

数据类型 参数 描述

char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)

varchar2(n) n=1 to 4000字节 可变长的字符串,具体定义时指明最大长度n,这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。

如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度,如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。可做索引的最大长度3209。

number(m,n) m=1 to 38

n=-84 to 127 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。

如:number(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。

如:number(5,2),但在一行数据中的这个字段输入575316,则真正保存到字段中的数值是57532。

如:number(3,0),输入575316,真正保存的数据是575。

date 无 从公元前4712年1月1日到公元4712年12月31日的所有合法日期,Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。

缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。

long 无 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。

raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

long raw 无 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。

在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

blob /clob /nclob 无 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。

LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。

可以执行读取、存储、写入等特殊 *** 作。

bfile 无 在数据库外部保存的大型二进制对象文件,最大长度是4GB。

这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。

Oracle 8i可以读取、查询BFILE,但是不能写入。

大小由 *** 作系统决定。

你要不然用float类型保留两位小数,这需要将数据库temperature表数据全删除,表结构中也就是在数据库中float类型的one,two,three,four列的大小一栏填5,2

要不然你就不用float类型来存储温度数据,而用String类型来存储one,two,three,four的温度数据,这需要将数据库temperature表数据全删除,表结构中one,two,three,four列改成varchar类型,然后把Java程序中

ps=connprepareStatement(sql);

     pssetInt(1, IntegerparseInt(mgroup(1)));

     pssetInt(2, IntegerparseInt(mgroup(2)));

     pssetFloat(3, FloatparseFloat(mgroup(3)));

     pssetFloat(4, FloatparseFloat(mgroup(4)));

     pssetFloat(5, FloatparseFloat(mgroup(5)));

     pssetFloat(6, FloatparseFloat(mgroup(6)));

     psexecuteUpdate();

改成

ps=connprepareStatement(sql);

pssetInt(1, IntegerparseInt(mgroup(1)));

pssetInt(2, IntegerparseInt(mgroup(2)));

pssetString(3, mgroup(3));

pssetString(4, mgroup(4));

pssetString(5, mgroup(5));

pssetString(6, mgroup(6));

psexecuteUpdate();

改完后重新导入数据,就行了。

改动后的完整的Java程序如下:(改动的地方见注释)

import javaioBufferedReader;

import javaioFileNotFoundException;

import javaioFileReader;

import javaioIOException;

import javasqlConnection;

import javasqlDriverManager;

import javasqlPreparedStatement;

import javasqlSQLException;

import javautilregexMatcher;

import javautilregexPattern;

public class CCA {

 //SQLServer

 private String driverName = "commicrosoftjdbcsqlserverSQLServerDriver";//加载驱动程序  

 private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";//设置数据库连接串  master为数据库名

 private String user = "sa";//数据库登录用户名  

 private String password = "root";//数据库登录密码  

 public Connection getConnection() {  

  try {  

   ClassforName(driverName);  

   return DriverManagergetConnection(url, user, password);  

  } catch (Exception e) {  

   eprintStackTrace();  

   return null;  

  }  

 }  

 public static void main(String[] args) {

  CCA dcm = new CCA();  

  String sql = "insert into temperature(group,layer,one,two,three,four) values(,,,,,)";

  Connection conn=null;

  PreparedStatement ps=null;

  BufferedReader br=null;

  try {

   conn = dcmgetConnection(); 

   br=new BufferedReader(new FileReader("sourcefiletxt"));

   String s="";

   String regex="(\\d+)\\s+(\\d+)\\s+(\\d+\\\\d+)\\s+(\\d+\\\\d+)\\s+(\\d+\\\\d+)\\s+(\\d+\\\\d+)";

   while((s=brreadLine())!=null){

    s=strim();

    Pattern p=Patterncompile(regex);

    Matcher m=pmatcher(s);

    if(mmatches()){

     //Systemoutprintln(mgroup(1)+" "+mgroup(2)+" "+mgroup(3)+" "+mgroup(4)+" "+mgroup(5)+" "+mgroup(6));

     ps=connprepareStatement(sql);

     pssetInt(1, IntegerparseInt(mgroup(1))); 

     pssetInt(2, IntegerparseInt(mgroup(2))); 

     pssetString(3, mgroup(3)); //这里改一下 

     pssetString(4, mgroup(4)); //这里改一下

     pssetString(5, mgroup(5)); //这里改一下

     pssetString(6, mgroup(6)); //这里改一下

     psexecuteUpdate();

    }

   }

   Systemoutprintln("数据插入完毕!");

  } catch (FileNotFoundException e) {

   eprintStackTrace();

  } catch (IOException e) {

   eprintStackTrace();

  }catch (SQLException e) { 

    eprintStackTrace();

   }finally{

   try {

    psclose();

    connclose();

    brclose();

   } catch (Exception e) {

    eprintStackTrace();

   }

  }

 }

}

以上就是关于sql数据库 文本含两个小数点属于什么数据类型全部的内容,包括:sql数据库 文本含两个小数点属于什么数据类型、SQL中 数据类型(14,2) 包含小数点么、请教几个关于oracle数据库里常见数据类型的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10187195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存