员工入职流程MYSQL保存经纬度数据类型
MYSQL保存经纬度数据类型
我们在做定位或者⼀些基于位置的系统的时候,肯定有需要⽤到存储位置的经纬度,来精确判断位置坐标等。
⾚道周长(⽶)度数 (度)
400076000360
111322.22221
11132.222220.1
1113.2222220.01
111.32222220.001
11.132222220.0001
1.1132222220.00001
0.1113222220.000001
0.0111322220.0000001所以,只需要精确到⼩数点后 7 位,精度就是 1CM,因此,数据库保存经纬度采⽤ decimal(10, 7) 即可。
附:decimal简介
【1】对SQL Server⽽⾔,Decimal可⽤来保存具有⼩数点⽽且数值确定的数值,它不像float和real是⽤来保存近似值。对于Visual Basic ⽽⾔,Decimal是其版本5新增的数据类型,⽬的是满⾜进⾏精密数学运算的需求,它是范围最⼤、最精确的浮点数类型。对于Excel⽽
⾔,DECIMAL()函数⽤于按给定基数将数字的⽂本表⽰形式转换成⼗进制数。
【2】中⽂名
项目翻译
Decimal型变量或DECIMAL()函数
外⽂名
Decimal
最⼤可能值1
+/-79228162514264337593543950335
最⼤可能值2
未来恋人+/-7.9228162514264337593543950335
最⼩⾮零值
+/-0.0000000000000000000000000001
⽤于Visual Basic⽤于Excel
⽤于SQL Server
安微【3】命名规则
Decimal的命名格式为:
在这⾥数字指⼀个或多个数(0,1,…,9)的组合,因⽽⼀百万能够被表⽰为1000000或+100000,
数字百分之⼀(1/100)能够被表⽰为0.01。值得注意的是,逗号(,)是不允许在⼀个 Decimal名称中出现的。[5]
数据精度
左腹部隐痛的原因女性对SQL Server⽽⾔,decimal和numeric视为相同的类型,它们可⽤来保存具有⼩数点⽽且数值确定的数值。它们不像float和real是⽤来保存近似值。此类型的列其声明⽅式为decima[(p[,s])]或numericl[(p[,s])]。其中p是此数值全部的位数,含⼩数部分但不包括⼩数点,s 则是⼩数的位数。p值称为此数值的精确度,例如:decimal(10,3)表⽰共有7位整数3位⼩数,此例的精确度为10位。此类型的列可保存的值范围为1038-1到-1038-1之间。其占⽤存储空间依精确度不同⽽不同,下表给出Decimal类型变量精确度和占⽤空间的关系。
【4】精确度 占⽤空间
1~9 5
10~19 9
农学家20~28 13
29~38 17
大清盐商
表格边框
如果使⽤该类型的变量未指定精确度,则系统使⽤默认的18位精确度,如果未加以指定⼩数位数的话,系统的默认值为0位⼩数。SQL Server搭配的前端开发⼯具(如VB,Delphi),其所⽀持的精确度为28位,如果需要超过28位的精确度的话,可以以命令⾏的⽅式执⾏启动SQL Server,并使⽤/参数即可,在此种状况下,此类型最⼤的精确度为38。
⽤于Visual Basic
【5】数据精度
Decimal变量存储为96位(12个字节)⽆符号的整型形式带符号的整型形式,并除以⼀个10的幂数。这个变⽐因⼦决定了⼩数点右⾯的数字位数,其范围从0到28变⽐因⼦为0(没有⼩数位)的情形下,最⼤的可能值为+/-79,228,162,514,264,337,593,543,950,335。⽽在有28个⼩数位的情况下,最⼤值为+/-7.9228162514264337593543950335,⽽最⼩的⾮零值为+/-
0.0000000000000000000000000001。
【6】注意事项
Decimal数据类型只能在Variant中使⽤,即不能声明⼀变量为DecimaI的类型。不过可⽤Cde函数,创建⼀个⼦类型为Decimal的Variant。
⽤于Excel
【7】语法结构为:
1)从语法结构可以看出,该函数只有两个必选参数,各参数的作⽤如下:
text:该参数⽤于指定要转化的数据,其长度必须⼩于或等于255个字符;
radix:该参数⽤于指定转换基数,其值必须⼤于或等于2(⼆进制或基数2)且⼩于或等于36(基数36)。
注意事项
text参数可以是对于基数有效的字母数字字符的任意组合,并且不区分⼤⼩写;
如果任何⼀个参数超出其限制,⼗进制可能返回#NUM!或者#VALUE!错误值。