如何解决标准 SQL 中的强制与强制转换
标准 SQL 中的强制转换和强制转换有什么区别?它们的用例是什么?
解决方法
单词 conversion 指的是隐式或显式地将值从一种数据类型更改为另一种数据类型,例如16 位整数到 32 位整数。
强制
强制一词用于表示隐式转换。超类型是一种常见类型,可以将两个或多个表达式强制转换为该类型。
铸造
cast 这个词通常是指显式类型转换(而不是隐式转换)并使用 CAST() 函数,无论这是对位模式的重新解释还是真正的转换。
>因此,强制是隐式的,强制转换是显式的,转换是其中任何一种。
用例
通常发生在表达式中存在不止一种数据类型时。在这种情况下,会发生类型转换(类型提升)以避免数据丢失。变量的所有数据类型都升级为数据类型最大的变量的数据类型。
如果您尝试将某种类型的值分配给不同类型的位置,则可以生成与原始类型具有相似含义的新类型值。这是胁迫。 Coercion 允许您通过创建一个在某种程度上类似于原始值的新值来使用新类型。一些强制可能会丢弃数据(例如将 int 0x12345678 转换为 short 0x5678),而其他强制可能不会(例如将 int 0x00000008 转换为 short 0x0008 或 long 0x0000000000000008)。
回想一下,值可以有多种类型。如果您的情况略有不同,并且您只想选择一种不同的值类型,则强制转换是该工作的工具。强制转换只是表明您希望对值包含的特定类型进行操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。