当前位置:首页 » 编程语言 » sql价格类型
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql价格类型

发布时间: 2022-07-09 06:08:32

1. mysql 建表时的价格用什么类型定义

MySQL中可以用来做价格的字段一般有float、double、decimal
如定义一个money字段类型为float(9,2),则money字段最大长度为9,整数位是6位,小数位是2位。

以下摘自MySQL 5.1参考手册:
1、FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
小(单精度)浮点数。允许的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。这些是理论限制,基于IEEE标准。实际的范围根据硬件或操作系统的不同可能稍微小些。
M是小数总位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。
如果指定UNSIGNED,不允许负值。
使用浮点数可能会遇到意想不到的问题,因为在MySQL中的所有计算用双精度完成。参见A.5.7节,“解决与不匹配行有关的问题”。
2、DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
普通大小(双精度)浮点数。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308。这些是理论限制,基于IEEE标准。实际的范围根据硬件或操作系统的不同可能稍微小些。
M是小数总位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。双精度浮点数精确到大约15位小数位。
如果指定UNSIGNED,不允许负值。
3、DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED] [ZEROFILL]
为DOUBLE的同义词。除了:如果SQL服务器模式包括REAL_AS_FLOAT选项,REAL是FLOAT的同义词而不是DOUBLE的同义词。
4、FLOAT(p) [UNSIGNED] [ZEROFILL]
浮点数。p表示精度(以位数表示),但MySQL只使用该值来确定是否结果列的数据类型为FLOAT或DOUBLE。如果p为从0到24,数据类型变为没有M或D值的FLOAT。如果p为从25到53,数据类型变为没有M或D值的DOUBLE。结果列范围与本节前面描述的单精度FLOAT或双精度DOUBLE数据类型相同。
FLOAT(p)语法与ODBC兼容。
5、DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
压缩的“严格”定点数。M是小数位数(精度)的总数,D是小数点(标度)后面的位数。小数点和(负数)的‘-’符号不包括在M中。如果D是0,则值没有小数点或分数部分。DECIMAL整数最大位数(M)为65。支持的十进制数的最大位数(D)是30。如果D被省略, 默认是0。如果M被省略, 默认是10。
如果指定UNSIGNED,不允许负值。
所有DECIMAL列的基本计算(+,-,*,/)用65位精度完成。
6、DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]
是DECIMAL的同义词。FIXED同义词适用于与其它服务器的兼容性。

2. sql费用的数据类型

一般moeny型存储,不过4位小数。
你要指定2位小数的话,用decimal或numeric,可设置小数位数

3. 在sql server中,价格该用什么数据库类型

定义成money类型。

字节数 长度(小数点前.小数点后)
money 8 15位.4位

4. sql各版本的价格类型有哪些

在安装SQL Server 2000,2005,2008时,系统会分别对应创建以下目录:
C:\Program Files\Microsoft SQL Server\80
C:\Program Files\Microsoft SQL Server\90
C:\Program Files\Microsoft SQL Server\100
据此,可以猜想2000对应8.0;2005对应9.0;2008对应10.0;但也仅仅是猜想,微软并没有公开使用这些版本.既便有,那也是微软内部版本.

5. 数据库中价格字段是varchar类型怎样在sql语句中使用sum函数计算总和

实现的方法和步骤如下:

1、首先,打开数据库连接客户端Navicat
Premium并创建一个新的表结构,其中age列有意设置为varchar,如下图所示,然后进入下一步。

6. sql 表设计时,面积,单价应该用什么数据类型

面积用decimal(4,2)单价用int就行了。

7. 【SQL】金额如果存在数据库中应该使用何种类型

一般用money或decimal或numeric,而不用float或double,因为容易出现"失真".
money货币数据存储的精确度为四位小数。可以存储在 money 数据类型中的值的范围是 -922,337,203,685,477.5808 至 +922,337,203,685,477.5807(需 8 个字节的存储空间)。
在 SQL Server中,numeric 数据类型等价于 decimal 数据类型。存储 decimal 或 numeric 数值所需的字节数取决于该数据的数字总数和小数点右边的小数位数。

8. sql server 货币 字段 类型 一般用什么类型

货币的字段类型一般有int,float,money/smallmoney,decimal/numberic。

根据存储数据的精度不同选择:

int只能存储整数的钱。

money/smallmoney数据类型精确到它们所代表的货币单位的万分之一 。

decimal/numberic 可以自定义小数位和能存储的数据精度, 所以一般使用这种类型的人会多一些。

float 对货币这种需要精确值的数值不合适。

总结:

在财务方面最好实用money与decimal类型。

如果是简单的计算可以使用float类型,不过float类型在有些平台上取出数据并不是那么准确,有可能会丢失精度。所以说如果在性能稳定的平台中,开销不是很大,建议使用以上两种类型。

(8)sql价格类型扩展阅读:

SQL数据类型:

1、bit 整型

bit数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或False 、On 或Off.

注意:很省空间的一种数据类型,如果能够满足需求应该尽量多用。

2、tinyint 整型

tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。这种数据类型在数据库中占用1 个字节。

3、smallint 整型

smallint 数据类型可以存储从- 2的15次幂(-32768)到2的15次幂(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间。

4、int 整型

int 数据类型可以存储从- 2的31次幂(-2147483648)到2的31次幂 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节。

5、decimal 精确数值型

decimal 数据类型能用来存储从-10的38次幂-1到10的38次幂-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数。

6、numeric 精确数值型

numeric数据类型与decimal 相似。

7、smallmoney 货币型

smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一。

8、money 货币型

money数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一。

9、float 近似数值型

float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数。

10、real 近似数值型

real 数据类型像浮点数一样,是近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数。

9. sql如何实现价格之间的查询,比如100元到500元之间的所有产品!求代码!

价格是什么类型的,如果是数字型,大于小于后边不要加单引号,用数字,如果字段是字符型的,先转化成数字型再进行比较。

10. sql怎么将字符转换成money类型

如果proction_info表中的价格列本身是money类型的,那么insert合法的数字字符串会自动转换成money类型,不需转换.

如果proction_info表中的价格列本身不是money类型,而是varchar类型,那么输入什么字符就是什么字符.在查询显示的时候再转换成money类型,用
convert(money,列)

cast(列 as money)