Mysql中字符串的逻辑运算和比较运算

2024-08-01

Mysql语句的逻辑运算到底怎么是怎么运算的啊?

前言

这个知识点老是忘了,所以必须找机会记下来.

内容大部分取自于Mysql中字符串的逻辑运算和比较运算

非常感谢大佬的分享和总结

结论

1. 比较运算:>、<、=(==或 ===)、!=、加减乘除

  • 数字和数字比较, 字符串和字符串比较, 都会按字面比较
  • 数字和字符串比较, 会把字符串转成数字, 再比较。如’abc’ 变成数字0 ; ‘2abc’ 变成数字2 ;’2a3b’ 变成数字2(只看字符串开头的数字来转换)
  • 数字和字符串相加减, 也会将字符串转为数字

进行比较运算,同类型的将会直接进行字面比较.若是字符串和数字比较,则字符串只需进行一次转换,变成整数即可.

2. 逻辑运算:与、或、异或、非

  • 数字和数字运算, 会将数字转成boolean(true和false),非0的都是true
  • 数字和字符串运算, 会先把字符串转成数字, 再把数字转成boolean.比如 ‘abc’ 先变成数字0,再变成boolean,即False;’2abc’ 先变成数字2,再变成boolean,即TRUE; ‘2a3b’ 先变成数字2,再变成boolean,即TRUE.

进行逻辑运算,数字只需一次转换,即可以直接转换为布尔值进行比较.而字符串必须经过两道程序,1.先转换成整数数字 2.再由整数数字转换为布尔值. 这样才能进行逻辑运算.

3. 字符串转数字

  • 截取字符串最前面的一段数字, 包括负数, 小数点. 如果没有数字则为0