mysql 在查字符串字段中 条件参数传为数字0查到与实际数据不匹配问题

比如:

CREATE TABLE `e` (
`id` int(11) DEFAULT NULL,
`status` varchar(255) DEFAULT NULL,
`b` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

用数字查字符串会把字符串数据转化为数字开头,所有非数字开头字符串都是以0开头 故查到以下数据

用数字2查则匹配到2开头的字符串

用和数据类型相同的条件查则没有问题

总结:

mysql 中:用数据作为条件查询字符串会出现于查询结果不匹配的现象

用0会查到所有非数字开头的字符串

用其他数字查则会匹配到与之对应数字开头的字符串

原文地址:https://www.cnblogs.com/coderdxj/p/10500005.html

时间: 2024-10-04 12:56:58

mysql 在查字符串字段中 条件参数传为数字0查到与实际数据不匹配问题的相关文章

Mysql字符串字段中是否包含某个字符串,用 find_in_set

有这样一个需求,在Mysql数据库字符串字段(权限)中,有范围在 1 到 N 之间代表不同权限的值,分别被‘,’分开,现在要取出具有某权限的所有成员列表. 创建表: 1 CREATE TABLE users(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),name VARCHAR(20) NOT NULL,limits VARCHAR(50) NOT NULL); 添加数据: 1 INSERT INTO users(name, limits)

mysql更新某个字符串字段的部分内容

如果现在需要Mysql更新字段重部分数据,而不是全部数据,应该采用何种方法呢?下面介绍了两种情况下Mysql更新字段中部分数据的方法,供您参考. Mysql更新字段中部分数据第一种情况: update tab set     A   = concat(substring(A,1,3),'bbb'); 从A的1个字符开始取3个字符,加上'bbb',再写入a中,如果A原始值为'123aaa',那么更新之后为'123bbb'了. Mysql更新字段中部分数据第二种情况: 1.Mysql模糊查询: se

往MySQL数据库datetime类型字段中插入当前时间

代码: StringBuilder sb = new StringBuilder(); sb.append(" insert into uosdetailfile ("); sb.append(" filename, "); sb.append(" content,"); sb.append(" addtime "); sb.append(" ) values ("); sb.append(" '

2016/10/21 java中的参数传方式

参考:http://blog.sina.com.cn/s/blog_59ca2c2a0100qhjx.html http://www.cnblogs.com/caiyao/p/4964176.html

根据参数显示类别(三级联动,需要JSON数据)

Scripts/Category.js 调用方法: $(function () { BindCategory(); //默认绑定文本框中的值 BindCategoryData($("#txtCategoryId").val()); }) 绑定三级联动(详情见:http://www.cnblogs.com/haozhenjie819/p/3887279.html) function BindCategory() { var $txtCategory = $("#txtCateg

MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法

首先我们建立一张带有逗号分隔的字符串. CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); 然后插入带有逗号分隔的测试数据 INSERT INTO test(pname,pnum) VALUES('产品1','1,2,4'); INSERT INTO test(pname,pnum) VALUES('产

MYSQL查询某字段中以逗号分隔的字符串的方法

首先我们建立一张带有逗号分隔的字符串. CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); 然后插入带有逗号分隔的测试数据 INSERT INTO test(pname,pnum) VALUES('产品1','1,2,4'); INSERT INTO test(pname,pnum) VALUES('产

批量替换 MySQL 指定字段中的字符串

MySQL指定字段的特定字符串批量替换的具体语法是: UPDATE 表名 SET 字段名 = replace(字段名, 'http://www.jptcgyy.com', ''); 就是讲 该字段所有的 http://www.jptcgyy.com网址替换为空! 另外,针对ID也可以作个筛选替换,比如我们想把content_type__theme表中ID小于300的field_down_value字段中"86"替换成"80",那么语法就是: UPDATE conte

MySQL 整型字段中查询字符串,返回了所有为0的结果

在MySQL中,在整型字段中查询字符串,返回了所有为0的结果,应该返回null或空. 例如表结构信息: CREATE TABLE `t` (   `name` char(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,   `id` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci 表中数据: mysql> select id from t