`

带你轻松接触“DB2”数据库中的数据类型

    博客分类:
  • DB2
阅读更多

DB2数据库的内置数据类型主要分成数值型(numeric)、字符串型(character string)、图形字符串(graphic string)、二进制字符串型(binary string)或日期时间型(datetime)。还有一种叫做 DATALINK 的特殊数据类型。DATALINK 值包含了对存储在数据库以外的文件的逻辑引用。

  数值型数据类型包括 SMALLINT、INTEGER、BIGINT、DECIMAL(p,s)、REAL 和 DOUBLE。所有数值都有符号和精度。精度是指除符号以外的二进制或十进制的位数。如果数字的值大于等于零,就认为符号为正。

  *小整型,SMALLINT:小整型是两个字节的整数,精度为 5 位。小整型的范围从 -32,768 到 32,767。

  *大整型,INTEGER 或 INT:大整型是四个字节的整数,精度为 10 位。大整型的范围从 -2,147,483,648 到 2,147,483,647。

  *巨整型,BIGINT:巨整型是八个字节的整数,精度为 19 位。巨整型的范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。

  *小数型,DECIMAL(p,s)、DEC(p,s)、NUMERIC(p,s) 或 NUM(p,s):小数型的值是一种压缩十进制数,它有一个隐含的小数点。压缩十进制数将以二-十进制编码(binary-coded decimal,BCD)记数法的变体来存储。小数点的位置取决于数字的精度(p)和小数位(s)。小数位是指数字的小数部分的位数,它不可以是负数,也不能大于精度。最大精度是 31 位。小数型的范围从 -10**31+1 到 10**31-1。

  *单精度浮点数(Single-precision floating-point),REAL:单精度浮点数是实数的 32 位近似值。数字可以为零,或者在从 -3.402E+38 到 -1.175E-37 或从 1.175E-37 到 3.402E+38 的范围内。

  *双精度浮点数(Double-precision floating-point),DOUBLE,DOUBLE PRECISION 或 FLOAT:双精度浮点数是实数的 64 位近似值。数字可以为零,或者在从 -1.79769E+308 到 -2.225E-307 或从 2.225E-307 到 1.79769E+308 的范围内。

  字符串是字节序列。字符串包括 CHAR(n) 类型的定长字符串和 VARCHAR(n)、LONG VARCHAR 或 CLOB(n) 类型的变长字符串。字符串的长度就是序列中的字节数。

  *定长字符串,CHARACTER(n) 或 CHAR(n):定长字符串的长度介于 1 到 254 字节之间。如果没有指定长度,那么就认为是 1 个字节。

  *变长字符串,VARCHAR(n)、CHARACTER VARYING(n) 或 CHAR VARYING(n):VARCHAR(n) 类型的字符串是变长字符串,最长可达 32,672 字节。

  *LONG VARCHAR:LONG VARCHAR 类型的字符串是变长字符串,最长可达 32,700 字节。

  *字符大对象字符串(Character Large Object String),CLOB(n[K M G]):CLOB 是变长字符串,最长可以达到 2,147,483,647 字节。如果只指定了 n,那么 n 的值就是最大长度。如果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 2,097,152)。如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 2,048)。如果指定了 nG,那么最大长度就是 n*1,073,741,824(n 的最大值是 2)。CLOB 用于存储基于大单字节字符集(single-byte character set,SBCS)字符的数据或基于混合(多字节字符集(MBCS)和 SBCS)字符的数据。图形字符串是表示双字节字符数据的字节序列。图形字符串包括类型为 GRAPHIC(n) 的定长图形字符串和类型为 VARGRAPHIC(n)、LONG VARGRAPHIC 和 DBCLOB(n) 的变长图形字符串。字符串的长度就是序列中双字节字符的数目。

  *定长图形字符串,GRAPHIC(n):定长图形字符串的长度介于 1 到 127 个双字节字符之间。如果没有指定长度,就认为是 1 个双字节字符。

  *变长图形字符串,VARGRAPHIC(n):VARGRAPHIC(n) 类型的字符串是变长图形字符串,最大长度可达 16,336 个双字节字符。

  *LONG VARGRAPHIC:LONG VARGRAPHIC 类型的字符串是变长图形字符串,最大长度可达 16,350 个双字节字符。

  *双字节字符大对象字符串,DBCLOB(n[K M G]):双字节字符大对象是变长双字节字符图形字符串,最长可达 1,073,741,823 个字符。如果只指定了 n,那么 n 就是最大长度。如果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 1,048,576)。如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 1,024)。如果指定了 nG,那么最大长度就是 n*1,073,741,824(n 的最大值是 1)。DBCLOB 用于存储基于大 DBCS(双字节字符集,double-byte character set)字符的数据。二进制字符串是字节序列。二进制字符串包括 BLOB(n) 类型的变长字符串,它用于容纳非传统型的数据,诸如图片、语音或混合媒体等,还可以容纳用户定义的类型及用户定义的函数的结构化数据。

  * 二进制大对象,BLOB(n[K M G]):二进制大对象是变长字符串,最长可达 2,147,483,647 字节。如果只指定了 n,那么 n 就是最大长度。如果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 2,097,152)。如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 2,048)。如果指定了 nG,那么最大长度就是 n*1,073,741,824(n 的最大值是 2)。

  日期时间型数据类型包括 DATE、TIME 和 TIMESTAMP。日期时间值可在某些算术和字符串操作中使用,而且兼容某些字符串,但它们既不是字符串,也不是数字。

  *DATE:DATE 是一个由三部分组成的值(年、月和日)。年份部分的范围是从 0001 到 9999。月份部分的范围是从 1 到 12。日部分的范围是从 1 到 n,其中 n 的值取决于月份。DATE 列长 10 个字节。

  *TIME:TIME 是一个由三部分组成的值(小时、分钟和秒)。小时部分的范围是从 0 到 24。分钟和秒部分的范围都是从 0 到 59。如果小时为 24,分钟和秒的值都是 0。TIME 列长 8 个字节。

  *TIMESTAMP:TIMESTAMP 是一个由七部分组成的值(年、月、日、小时、分钟、秒和微秒)。年份部分的范围是从 0001 到 9999。月份部分的范围是从 1 到 12。日部分的范围是从 1 到 n,其中 n 的值取决于月份。小时部分的范围是从 0 到 24。分钟和秒部分的范围都是从 0 到 59。微秒部分的范围是从 000000 到 999999。如果小时是 24,那么分钟值、秒的值和微秒的值都是 0。TIMESTAMP 列长 26 个字节。日期时间值的字符串表示:尽管 DATE、TIME 和 TIMESTAMP 的值的内部表示对用户是透明的,日期、时间和时间戳记也可以用字符串来表示,CHAR 标量函数(请参阅 SQL 的“词类(parts of speech)”)可以用于创建日期时间值的字符串表示。

  *日期值的字符串表示是一个以数字开始,长度不少于 8 个字符的字符串。日期值的月份和日部分中前面的零可以省略。

  *时间值的字符串表示是以数字开头,长度不少于 4 个字符的字符串。时间值的小时部分前面的零可以省略,秒部分可以完全省略。如果秒的值没有指定,那么就认为是 0。

  *时间戳记值的字符串表示是以数字开头,长度不少于 16 个字符的字符串。完整的时间戳记字符串表示形式为 yyyy-mm-dd-hh.mm.ss.nnnnnn。时间戳记值的月、日或小时等几部分前面的零可以省略,微秒可以截断或完全省略。如果任何时间戳记值的微秒部分尾零被省略掉了,那么将假定空缺的数位上为零。

分享到:
评论

相关推荐

    数据库操作-Navicat12无需注册

    Navicat12是一款强大的数据库管理工具,它为用户提供了跨平台的支持,允许用户轻松地管理和操作多种类型的数据库,包括Oracle、SQL Server、DB2以及MySQL等。本篇文章将详细介绍Navicat12的功能、如何使用它进行...

    oracle 经典教程

    在.NET应用程序中,可以使用抽象工厂模式来实现数据库连接的松耦合,使得程序能够轻松地切换不同的数据库提供商,如从SQL Server切换到Oracle。 #### 七、数据库导入导出 **Oracle导入导出** Oracle提供了多种...

    少儿编程scratch项目源代码文件案例素材-生成V1.zip

    少儿编程scratch项目源代码文件案例素材-生成V1.zip

    少儿编程scratch项目源代码文件案例素材-忍者短跑.zip

    少儿编程scratch项目源代码文件案例素材-忍者短跑.zip

    少儿编程scratch项目源代码文件案例素材-圈.zip

    少儿编程scratch项目源代码文件案例素材-圈.zip

    MATLAB三维路径规划中改进人工势场法与传统算法的对比及应用

    内容概要:本文探讨了在机器人导航和自动驾驶等领域中,三维路径规划算法的应用。重点介绍了传统人工势场法和A*算法的局限性,并提出了一种结合两者优点的改进人工势场法。通过Matlab代码实现,展示了该方法在不同三维环境下的表现,验证了其在处理复杂环境和动态障碍物方面的高效性和准确性。此外,研究成果已在中文核心期刊上发表,为相关领域的进一步研究提供了有价值的参考。 适合人群:从事机器人导航、自动驾驶及相关领域研究的专业人士和技术爱好者。 使用场景及目标:①理解和掌握三维路径规划的基本概念和常用算法;②学习改进人工势场法的具体实现及其优势;③利用Matlab代码进行实际操作和实验,提升算法性能。 其他说明:本文不仅提供了理论分析,还附带详细的Matlab代码实现,便于读者动手实践。

    少儿编程scratch项目源代码文件案例素材-日落塔.zip

    少儿编程scratch项目源代码文件案例素材-日落塔.zip

    scratch少儿编程逻辑思维游戏源码-俄罗斯方块.zip

    scratch少儿编程逻辑思维游戏源码-俄罗斯方块.zip

    少儿编程scratch项目源代码文件案例素材-忍者攀登.zip

    少儿编程scratch项目源代码文件案例素材-忍者攀登.zip

    ABAQUS轮胎建模:过盈充气、模态、滚动及频响仿真的全面解析

    内容概要:本文详细介绍了如何利用ABAQUS软件进行轮胎建模及其相关仿真分析。主要内容涵盖四个关键方面:过盈充气仿真,用于模拟轮胎充气后的稳定状态;模态仿真,分为自由模态和约束模态,用以研究轮胎在不同条件下的振动特性;滚动仿真,模拟轮胎在各种路况下的动态行为,包括变形和应力分布;频响仿真,探究轮胎在不同频率下的响应特性。此外,还涉及了模态轮胎的生成与验证方法,确保模型的精确性和可靠性。文中穿插了必要的代码片段,指导用户如何设置仿真参数。 适合人群:从事汽车工程、机械设计及相关领域的工程师和技术人员,尤其是那些希望深入了解轮胎动态特性的专业人士。 使用场景及目标:适用于需要对轮胎进行全面仿真分析的研究项目或产品开发阶段,旨在提高车辆行驶的安全性和舒适性,优化轮胎设计。 其他说明:文章不仅提供了理论知识,还包括具体的操作指南和实例演示,帮助读者掌握ABAQUS在轮胎建模方面的应用技巧。

    少儿编程scratch项目源代码文件案例素材-怒之忍者.zip

    少儿编程scratch项目源代码文件案例素材-怒之忍者.zip

    scratch少儿编程逻辑思维游戏源码-Katachi.zip

    scratch少儿编程逻辑思维游戏源码-Katachi.zip

    基于Matlab的GRU时间序列回归预测模型:详细注释与高效性能统计

    内容概要:本文详细介绍了一个基于Matlab实现的GRU时间序列回归预测模型。文中不仅提供了详细的代码注释,还展示了如何从Excel导入数据、进行数据预处理、构建GRU模型、训练模型以及评估模型性能。模型的运算结果可以直接输出到Excel中,包含超过7类的预测性能统计指标,便于选择最佳模型。此外,该模型对特征向量(滑动窗口)的设置非常友好,只需简单配置即可实现灵活的时间序列预测任务。 适合人群:从事数据科学、机器学习领域的研究人员和技术人员,尤其是那些希望深入了解GRU模型及其在时间序列预测中应用的人群。 使用场景及目标:适用于需要进行时间序列预测的研究项目或工业应用场景。目标是帮助用户快速搭建和调优GRU模型,提高预测精度和效率。 其他说明:本文提供的代码和方法可以作为模板,用户可以根据自己的数据集和需求进行修改和扩展。详细的注释使得初学者也能轻松上手,而丰富的性能统计指标则有助于高级用户深入分析模型表现。

    少儿编程scratch项目源代码文件案例素材-墙壁跑者.zip

    少儿编程scratch项目源代码文件案例素材-墙壁跑者.zip

    scratch少儿编程逻辑思维游戏源码-地牢冲刺.zip

    scratch少儿编程逻辑思维游戏源码-地牢冲刺.zip

    电子竞赛电赛历年试题代码程序全解析:硬件驱动与算法实现的实战指南

    内容概要:本文档《电赛历年试题代码程序》全面解析了电子设计竞赛历年试题的代码实现。文档涵盖核心代码资源、分题型代码案例、实战资源与开发工具以及高频技术要点四个方面。核心代码资源包括硬件驱动与信号处理,如AD9959信号生成和逆变器控制,以及算法实现,如PID控制和图像识别。分题型代码案例部分针对智能小车类和测量仪器类提供了具体代码示例,如避障与路径规划、多功能测量仪等。实战资源与开发工具介绍了代码仓库和开发工具链,包括CSDN综合包、GitHub开源库、MATLAB辅助设计等。高频技术要点则强调了代码规范和性能优化,如硬件驱动封装、滑动窗口滤波等。 适合人群:对电子设计竞赛感兴趣的学生及参赛选手,特别是具有一定硬件编程基础并希望深入理解历年试题解决方案的人群。 使用场景及目标:①帮助参赛者理解历年试题的代码实现细节;②为智能小车、测量仪器等项目提供具体的代码参考;③通过实战资源和开发工具提升代码开发效率和质量;④掌握硬件驱动封装、传感器数据处理等关键技术要点。 阅读建议:建议读者结合自身参赛需求选择性阅读相关内容,重点关注自己感兴趣的题型和技术点,并利用提供的开发工具进行实际操作和调试。

    配电网电压与无功优化协调:基于二阶锥规划的多目标函数及场景分析

    内容概要:本文探讨了配电网电压与无功协调优化的问题,旨在通过优化手段最小化运行成本并减少电压偏差。文中介绍了目标函数的构成,包括开关动作成本、功率损耗成本和设备运行成本,并提出了将非凸模型转化为二阶锥规划模型的方法。通过优化变压器分接头位置、电容器接入组数以及SOP的输出功率,实现了电压与无功的有效控制。此外,还对不同场景进行了对比分析,验证了优化策略的效果。 适合人群:从事电力系统研究、配电网优化设计的专业人士和技术人员。 使用场景及目标:适用于希望深入了解配电网电压与无功协调优化机制及其应用场景的人群,目标是掌握优化策略的具体实现方法和效果评估。 其他说明:文章不仅提供了理论分析,还涉及了一些具体的优化算法实现,如二阶锥规划模型的构建,对于实际工程应用有重要指导意义。

    scratch少儿编程逻辑思维游戏源码-单飞战舰.zip

    scratch少儿编程逻辑思维游戏源码-单飞战舰.zip

Global site tag (gtag.js) - Google Analytics