创建允许保存整数/浮点数的表变量数据类型 [SQL]

Posted

技术标签:

【中文标题】创建允许保存整数/浮点数的表变量数据类型 [SQL]【英文标题】:Create Table variable datatype that would allow to save integer/floats [SQL] 【发布时间】:2020-10-22 09:16:26 【问题描述】:

如标题所述,创建表时,定义变量+数据类型时:

CREATE TABLE ExampleTable
ID INTEGER,
NAME VARCHAR(200),
Integerandfloat 

问题:您可以将变量定义为整数或浮点数等。但是,是否有一种数据类型可以同时保存整数和浮点数?

【问题讨论】:

SQL中的一列是一种数据类型,只有NoSQL才能在同一列中容纳更多的数据类型 【参考方案1】:

某些数据库支持可以具有任意类型的变体数据类型。例如,SQL Server 有sql_variant

大多数数据库还允许您创建自己的数据类型(使用create type)。但是,该功能的强大程度取决于数据库。

对于浮点数和整数之间的选择,没有太多选择。 8 字节浮点表示涵盖所有 4 字节整数,因此您可以只使用浮点数。但是,float 在关系数据库中通常不是很有用。定点表示 (numeric/decimal) 更常见,也可以满足您的需求。

【讨论】:

【参考方案2】:

只需使用浮点数存储即可。

这样想:你有两个变量,一个整数类型(我们称之为i)和另一个浮点类型(我们称之为f)。 如果你这样做:

i = 0.55
RESULT -> i = 0

但如果你有:

f = 0.55
RESULT -> f = 0.55

这样你也可以在 f 中存储整数值:

f = 1
RESULT -> f = 1

【讨论】:

以上是关于创建允许保存整数/浮点数的表变量数据类型 [SQL]的主要内容,如果未能解决你的问题,请参考以下文章

WEB02_Day04(下)-数据库相关SQL数据类型(整数浮点数字符串日期)

数据库中的一些基本数据类型

如何在 Oracle SQL 中将整数除以产生浮点数?

Python数据类型和变量

Python变量与数据类型-数据类型

Python数据类型和变量