| |
| 名称 说明 |
| BINARY 将 string 转换为二进制 string |
| CAST() 将某个值转换为特定类型 |
| CONVERT() 将某个值转换为特定类型 |
| 数据类型转换可以通过CAST()和CONVERT()函数来实现。大多数情况下,这两个函数是重叠的,它们反映了SQL语言的演化历史。这两个函 数的功能相似,不过它们的语法不同。虽然并非所有类型的值都能转变为其他数据类型,但总的来说,任何可以转换的值都可以用简单的函数实现转换。 |
| |
| CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。以下例子用于将文本字符串’123’转换为整型: |
| |
| 1 |
| SELECT CAST('123' AS int) |
| 返回值是整型值123。如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢? |
| |
| 1 |
| SELECT CAST('123.4' AS int) |
| CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。由于123.4不能用int数据类型来表示,所以对这个函数调用将产生一个错误: |
| |
| 1 |
| Server: Msg 245, Level 16, State 1, Line 1 Syntax error converting the varchar value '123.4' to a column of data type int. |
| 要返回一个合法的数值,就必须使用能处理这个值的数据类型。对于这个例子,存在多个可用的数据类型。如果通过CAST()函数将这个值转换为 decimal类型,需要首先定义decimal值的精度与小数位数。在本例中,精度与小数位数分别为9与2。精度是总的数字位数,包括小数点左边和右边 位数的总和。而小数位数是小数点右边的位数。这表示本例能够支持的最大的整数值是9999999,而最小的小数是0.01。 |
| |
| 1 |
| SELECT CAST('123.4' AS decimal(9,2)) |
| decimal数据类型在结果网格中将显示有效小数位: |
| |
| 123.40 |
| 精度和小数位数的默认值分别是18与0。如果在decimal类型中不提供这两个值,SQL Server将截断数字的小数部分,而不会产生错误。 |
| |
| 1 |
| SELECT CAST('123.4' AS decimal) |
| 结果是一个整数值: |
| |
| 123 |
| 1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80’ |
| 2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串 |
| |
| |
| |
| 总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型) |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix