打印本文 打印本文 关闭窗口 关闭窗口
MYSQL表达式求值和MYSQL类型转换
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1677  更新时间:2009/4/22 20:44:01  文章录入:mintao  责任编辑:mintao

    某些运算符可将操作数强制转换为它们所要的类型,而不管操作数是什么类型。例如,算术运算符需要数,并按此对操作数进行转换,参考如下运算:

    MySQL不对整个串进行寻找一个数的查找;它只查看串的起始处。如果一个串不以数作为前导部分,其转换结果为0。

    请注意,MySQL的串到数的转换规则自3 . 2 3版以后已经改变了。在该版本以前,类似于数的串被转换为四舍五入的整数值。自3.23 版后,它们转换为浮点值,例如:

    逻辑和位运算符比算术运算符要求更为严格。它们不仅希望操作数为数,而且还要求是整数。这表示一个浮点数,如. 3,不被视为真,虽然它是非零的;这是因为在转换为整数时,. 3已经转换为0了。在下面的表达式中,除非各操作数有一个至少为1的值,否则各操作数不被认为是真。

    这种转换也出现在IF( ) 函数中,此函数要求第一个参数为整数。为了恰当地对浮点值进行测试,最好是利用明确的比较。否则,小于1的值将被认为是假,例如:

    模式匹配运算符要求对串进行处理。这表示可将MySQL的模式匹配运算符用于数,因为MySQL会在试图进行的匹配中将它们转换成串。例如:

    大小比较运算符(“<”、“< =”、“=”等等)是上下文相关的;即,它们根据操作数的类型求值。下面的表达式从数值上对操作数进行比较,因为操作符两边都是数。

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口