mysql-笔记-类型转化

1 concat() 隐式转化为字符串

2 cast( 1 as char) 显示转化

3 比较中的隐式转化

  null 与任何值比例都是null ; 除了使用 null-safe <=> 相等比较 select null=1; null    select null <=>1 false ; select null <=>null true

  如果比较的2个参数都是字符串,则以字符串类型做比较; 如果比较的2个参数都是整数,则以整数类型做比较

  如果一个参数是日期 时间类型-另一个参数是常数,则在比较前将常数转化为时间 后再做比较,最好在做比较前明确转化数据类型后再做比较

  从一个子查询中取出字段的数值不会做为常数,例如,如果子查询取出一个数值型参数,则按 数值型做比较

  如果一个decimal类型参数做比较-按另一个参数的类型做比较,如果另一个是decimal integer则按decimal比较,如果另一个参数是float-则按float比较

4 如果字符列与数字做比较,则在字符列上的索引不起作用

5 同float 类型做比较,会导至结果不一致,可以使用 显式转化 cast(1 as unsigned) 避免转化为 float

  

原文地址:https://www.cnblogs.com/caojuansh/p/10607868.html