沃梦达 / IT编程 / 数据库 / 正文

Mysql查询以某"字符串"开头的查询方式

Mysql查询以某字符串开头的查询方式 目录 Mysql查询以某字符串开头的查询 查询不以某个或者某些字符串为开头的字符串 查询以某个或者某些字符串为开头的字符串 Mysql查询条件字符串类型 = 0 假如有表A A表中有以下数据 Mysql查询以某字符串开头的

目录
  • Mysql查询以某"字符串"开头的查询
    • 查询不以某个或者某些字符串为开头的字符串
    • 查询以某个或者某些字符串为开头的字符串
  • Mysql查询条件字符串类型 = 0
    • 假如有表A
    • A表中有以下数据

Mysql查询以某"字符串"开头的查询

查询不以某个或者某些字符串为开头的字符串

1、使用left()函数

select * from order where left(id,2)<>"AB";

2、使用like

select * from order where id not like "%AB%";

查询以某个或者某些字符串为开头的字符串

1、使用left()函数

select * from order where left(id,2)="AB";

2、使用like

select * from order where id like "%AB%";

Mysql查询条件字符串类型 = 0

假如有表A

id int
name varchar

A表中有以下数据

id name
1 张三
2 李四
3 2王五

执行以下sql:

select * from A where name = 0;

会将id=1,id=2的结果返回。

select * from A where name = 2;

会将id=3的结果返回。

为什么?

因为Mysql “Strings are automatically converted to numbers and numbers to strings as necessary”,字符串自动转换为数字,数字自动转换为字符串 。

当字符串和数字比较时,mysql会从字符串开头截取数字,没有数字的直接转成0。

不建议不同类型的数据进行比较。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

本文标题为:Mysql查询以某"字符串"开头的查询方式