sql 数据转换(sql转换值) 科技前沿 • 2025-05-03 09:32 • 阅读 40 sql 数据转换(sql转换值)p strong 适用于 strong p 大家好,我是讯享网,很高兴认识大家。 </nav><p><strong>适用于:</strong><img src="https://docs.microsoft.com/zh-cn/sql/includes/media/yes-icon.svg?view=sql-server-ver16" role="presentation" data-linktype="relative-path">Microsoft Fabric Microsoft Fabric <img src="https://docs.microsoft.com/zh-cn/sql/includes/media/yes-icon.svg?view=sql-server-ver16" role="presentation" data-linktype="relative-path">Warehouse 中的 SQL Server <img src="https://docs.microsoft.com/zh-cn/sql/includes/media/yes-icon.svg?view=sql-server-ver16" role="presentation" data-linktype="relative-path">Azure SQL 数据库 <img src="https://docs.microsoft.com/zh-cn/sql/includes/media/yes-icon.svg?view=sql-server-ver16" role="presentation" data-linktype="relative-path">Azure SQL 托管实例 <img src="https://docs.microsoft.com/zh-cn/sql/includes/media/yes-icon.svg?view=sql-server-ver16" role="presentation" data-linktype="relative-path">Azure Synapse<img src="https://docs.microsoft.com/zh-cn/sql/includes/media/yes-icon.svg?view=sql-server-ver16" role="presentation" data-linktype="relative-path"> Analytics Analytics Platform System (PDW) <img src="https://docs.microsoft.com/zh-cn/sql/includes/media/yes-icon.svg?view=sql-server-ver16" role="presentation" data-linktype="relative-path">SQL Analytics 终结点</p> 讯享网 在以下情况下,可以转换数据类型: 当一个对象的数据移到另一个对象,或两个对象之间的数据进行比较或组合时,数据可能必须从一个对象的数据类型转换为另一个对象的数据类型。 将 TransactSQL 结果列、返回代码或输出参数中的数据移到某个程序变量中时,必须将这些数据从 SQL Server 系统数据类型转换成该变量的数据类型。 在应用程序变量与 SQL Server 结果集列、返回代码、参数或参数标记之间进行转换时,支持的数据类型转换由数据库 API 定义。 可以隐式或显式转换数据类型。 隐式转换对用户不可见。 SQL Server 会自动将数据从一种数据类型转换为另一种数据类型。 例如,将 smallint 与 int 进行比较时,在比较之前,smallint 会被隐式转换为 int。 隐式转换为日期样式。 隐式转换为日期样式 。 显式转换使用 或 函数。 CAST 和 CONVERT 函数可将值(局部变量、列或其他表达式)从一种数据类型转换为另一种数据类型。 例如,以下 函数可将数值 转换为字符串 : 讯享网 如果希望 Transact-SQL 程序代码符合 ISO 标准,请使用 而不要使用 。 如果要利用 中的样式功能,请使用 而不要使用 。 以下图例显示了可对 SQL Server 系统提供的数据类型执行的所有显式和隐式数据类型转换。 这些包括 xml、bigint 和sql_variant。 不存在对 sql_variant 数据类型的赋值进行的隐式转换,但是存在转换为 sql_variant 的隐式转换 。 虽然前面的图表说明了 SQL Server 中允许的所有显式和隐式转换,但并未指出转换的结果数据类型。 当 SQL Server 执行显式转换时,语句本身会确定结果数据类型。 对于隐式转换,赋值语句(例如设置变量的值或在列中插入值)将产生由变量声明或列定义所定义的数据类型。 对于比较运算符或其他表达式,结果数据类型取决于数据类型优先级的规则。 例如,以下脚本定义一个类型为 varchar 的变量,将 int 类型值赋给该变量,然后选择该变量与字符串的串联。 的 int 值会转换为 varchar,因此 语句返回值 。 讯享网 下面的示例演示改为使用 int 变量的类似脚本: 讯享网 在此例中, 语句会引发以下错误: 为了计算表达式 ,SQL Server 先遵循数据类型优先级的规则来完成隐式转换,然后才能计算表达式的结果。 由于 int 的优先级高于 varchar,SQL Server 会尝试将字符串转换为整数,但是会失败,因为此字符串无法转换为整数。 如果表达式提供可以转换的字符串,则该语句会成功,如以下示例所示: 在此例中,字符串 可以转换为整数值 ,因而此 语句会返回值 。 当提供的数据类型为整数时, 运算符会成为加法而不是串联。 将一个 SQL Server 对象的数据类型转换为另一种数据类型时,不支持某些隐式和显式数据类型转换。 例如,nchar 值无法被转换为 image 值。 只能使用显式转换将 nchar 转换为 binary。 不支持使用隐式方法转换为 binary。 但是,nchar 既可以显式也可以隐式转换为 nvarchar。 以下各文章说明对应数据类型展示的转换行为: binary 和 varbinary datetime2 money 和 smallmoney bit datetimeoffset smalldatetime char 和 varchar decimal 和 numeric sql_variant date float 和 real time datetime int、bigint、smallint 和 tinyint uniqueidentifier xml json 由于 SQL Server 使用 Transact-SQL 数据类型,而 OLE 自动化使用 Visual Basic 数据类型,因此 OLE 自动化存储过程必须转换在两者之间传递的数据。 下表说明了从 SQL Server 到 Visual Basic 的数据类型转换。 SQL Server 数据类型 Visual Basic 数据类型 char、 varchar、 text、 nvarchar、 ntext 字符串 decimal、 numeric 字符串 bit 布尔值 binary、 varbinary、 image 一维 数组 int Long smallint 整数 tinyint Byte float 双精度 real 单精度 money、 smallmoney 货币 datetime、 smalldatetime 日期 设置为 的任意内容 Variant 设置为 Null 除了 binary、varbinary 和 image 值以外,所有单个 SQL Server 值都被转换为单个 Visual Basic 值。 这些值将被转换为 Visual Basic 中的一维 数组。 此数组的范围为 ,其中 length 是 SQL Server binary、varbinary 或 image 值中的字节数。 以下是从 Visual Basic 数据类型到 SQL Server 数据类型的转换。 Visual Basic 数据类型 SQL Server 数据类型 Long、 Integer、 Byte、 Boolean、 Object int Double、 Single float 货币 money 日期 datetime 小于或等于 4,000 个字符的 String varchar/ nvarchar 大于 4,000 个字符的 String text/ ntext 小于或等于 8,000 字节的一维 数组 varbinary 大于 8,000 字节的一维 数组 image OLE 自动存储过程 (Transact-SQL) CAST 和 CONVERT (Transact-SQL) 数据类型 (Transact-SQL) COLLATE (Transact-SQL) 小讯 2025年怎么把文件管理里的音频转出去(文件管理里面的音频怎么导出来) 上一篇 2025-05-22 09:19 2025年制作u盘启动盘全部步骤图(制作u盘启动盘全部步骤图解) 下一篇 2025-05-06 15:09 相关推荐 2025年怎么把文件管理里的音频转出去(文件管理里面的音频怎么导出来) 1744588800 icmp报文格式详解(icmp 报文格式) 1744588800 mongodb数据库登录命令(mongo登录指定数据库) 1744588800 2025年goldendb数据库版本查看(goldendb数据库 mysql) 1744588800 2025年java的爬虫(java爬虫步骤) 1744588800 tidb数据库优缺点(tinydb数据库) 1744588800 2025年什么软件能打开odt(什么软件能打开dwg文件) 1744588800 2025年awe是什么意思(aware是什么意思) 1744588800 sdk测试的前景(sdk测试流程) 1744588800 2025年制作u盘启动盘全部步骤图(制作u盘启动盘全部步骤图解) 1744588800 2025年静脉药物配置中心在中药领域的重要性(静脉药物配置中心与静脉药物治疗) 1744588800 2025年latex编辑器有哪些(latex编辑文档的优缺点) 1744588800 libxml2(libxml2.dll缺失怎么办) 1744588800 2025年程序员入门书籍有哪些(程序员入门的书) 1744588800 2025年dv测试报告(dv测试报告是什么) 1744588800 主板nvme接口可以量产吗?(nvme接口最多的主板) 1744588800 2025年st7735刷新速度(st7735配置说明) 1744588800 mysql主键重复怎么解决(mysql主键重复报错1062) 1744588800 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。如需转载请保留出处:https://51itzy.com/kjqy/193555.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/193555.html