查看“MySQL 函数和运算符:表达式赋值中的类型转换”的源代码
←
MySQL 函数和运算符:表达式赋值中的类型转换
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:MySQL]] 当一个运算符与不同类型的操作数一起使用时,将进行类型转换以使操作数兼容: # 一些转换是隐式发生的。例如,MySQL 根据需要'''自动将字符串转换为数字''',反之亦然。 #: <syntaxhighlight lang="xml"> mysql> SELECT 1+'1'; -> 2 mysql> SELECT CONCAT(2,' test'); -> '2 test' </syntaxhighlight> # 也可以使用“CAST()”函数将数字显示转换为字符串。使用“CONCAT()”函数进行隐式转换,因为它需要字符串参数。 #: <syntaxhighlight lang="xml"> mysql> SELECT 38.8, CAST(38.8 AS CHAR); -> 38.8, '38.8' mysql> SELECT 38.8, CONCAT(38.8); -> 38.8, '38.8' </syntaxhighlight> 比较操作如何发生转换: # '''如果一个或两个参数均为NULL,则比较结果为NULL''',除了NULL -safe <=>相等比较运算符。'''对于“NULL <=> NULL”,结果为 true。'''无需转换。 # 如果比较操作中的两个参数都是字符串,则将它们作为字符串进行比较。 # 如果两个参数都是整数,则将它们作为整数进行比较。 # 如果不与数字比较,则将十六进制值视为二进制字符串。 # 如果参数之一是“TIMESTAMP”或“DATETIME”列,而另一个参数是常量,则在执行比较之前,该'''常量将转换为时间戳'''。这样做是为了使 ODBC 更友好。 “IN()”的自变量未完成此操作。为了安全起见,在进行比较时,请始终使用完整的日期时间,日期或时间字符串。 #: 例如,为了在将“BETWEEN”与日期或时间值一起使用时获得最佳结果,请使用“CAST()”将值显式转换为所需的数据类型。 # 如果参数之一是十进制值,则比较取决于另一个参数。如果另一个参数是十进制或整数值,则将参数作为十进制值进行比较;如果另一个参数是浮点值,则将参数作为浮点值进行比较。 # 在所有其他情况下,将参数作为浮点数(实数)进行比较。例如,'''将字符串和数字操作数进行比较,将其作为浮点数的比较。'''
返回至“
MySQL 函数和运算符:表达式赋值中的类型转换
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息