SQL MAX()函数处理字符型字段
假设有数据库表student,表中有字段studentCode,它是字符型的,现有需求:“每次向student表插入数据时,自动生成studentCode字段的值”
如果你的实现思路是这样的:
if(student表为空){
待插入数据studentCode字段的值设置为1;
}else{
查询出表中studentCode字段的最大值max;
待插入数据studentCode字段的值设置为max+1;
}
将数据插入student表;
你可能使用以下SQL语句查询studentCode字段的最大值:
SELECT MAX(studentCode) FROM `student`
测试一下程序,试着插入几条数据:
插入第1条数据:studentCode == 1
插入第2条数据:studentCode == 2
插入第3条数据:studentCode == 3
插入第4条数据:studentCode == 4
插入第5条数据:studentCode == 5
插入第6条数据:studentCode == 6
插入第7条数据:studentCode == 7
插入第8条数据:studentCode == 8
插入第9条数据:studentCode == 9
插入第10条数据:studentCode == 10
插入第11条数据:studentCode == 10
插入第12条数据:studentCode == 10
插入第13条数据:studentCode == 10
最开始插入前10条数据studentCode字段的值还是正常的,可是从第11条数据开始,为什么studentCode字段的值全不变了呢?
原因就是studentCode字段是字符型的,从指定第11条数据的插入操作开始,SELECT MAX(studentCode) FROM `student` 的结果将永远是9,所以就导致了最终设置的studentCode的值永远是10.
解决办法:类型转换
SELECT MAX(CONVERT(studentCode,INT)) FROM `student`
SQL MAX()函数处理字符型字段的更多相关文章
- SQL-W3School-函数:SQL MAX() 函数
ylbtech-SQL-W3School-函数:SQL MAX() 函数 1.返回顶部 1. MAX() 函数 MAX 函数返回一列中的最大值.NULL 值不包括在计算中. SQL MAX() 语法 ...
- Mysql查询语句中字符型字段不区分大小写解决方法
项目中和前端联调的时候,发现Mysql查询语句中字符型字段值过滤是不区分大小写的,之前没有关注过这个设置,特意去网上看了下,原因是Mysql中“COLLATE”属性区分大小写,而该属性默认值为“utf ...
- SQL MAX() 函数
MAX() 函数 MAX 函数返回一列中的最大值.NULL 值不包括在计算中. SQL MAX() 语法 SELECT MAX(column_name) FROM table_name 注释:MIN ...
- 【爬坑笔记】c# 如何通过EF Core读写sql server的类似double型字段
=============================================== 2019/8/31_第1次修改 ccb_warlock == ...
- Oracle数据库中字符型字段按数字排序
今天在转换数据时,遇到了一个主键排序的问题.字符型的主键,保存的都是数字,数据导过来以后发现数据排序都是乱的,就想着按数字规则排序. 但发现to_number总是报错,就想着里面应该是有字符存在.后来 ...
- SQL字符型字段按数字型字段排序实现方法(转)
由于是按字母顺序排列,所以123排在了2的前面,显然不符合我们的要求,那么怎样才能按照我们预想的数字顺序排序呢 ORDER BY `meta_value` 那么按得分排序得到的结果可能是:1101 ...
- oracle max()函数和min()函数
当需要了解一列中的最大值时,可以使用MAX()函数:同样,当需要了解一列中的最小值时,可以使用MIN()函数.语法如下. SELECT MAX (column_name) / MIN ...
- SQL基础-创建新的输出字段
一.创建新的输出字段 1.建表.插数据 ### CREATE TABLE `t_stock_trans_dtl` ( `trans_id` varchar(100) NOT NULL COMMENT ...
- IntelliJ IDEA 2017版 spring-boot2.0.2 搭建 JPA springboot DataSource JPA环境搭建,JPA实现非字符型设置长度
1.在github上已有配置环境,如下链接,(需要环境JDK1.8及以上版本,Tomcat1.8及以上版本,搭建maven库,使用编译器IntellJ IDEA) https://github.com ...
随机推荐
- @COCI 2016/2017 Round 3@ Meksikanac
目录 @description@ @solution@ @accepted code@ @details@ @description@ 在平面直角坐标系中,给定一个左下角为 (0, 0),右上角为 ( ...
- Android Xutils框架HttpUtil Get请求缓存问题
话说,今天和服务器开发人员小小的逗逼了一下,为啥呢? 话说今天有个"收藏产品"的请求接口,是get request的哦,我客户端写好接口后,点击"收藏按钮",返 ...
- hdu 3339 In Action(迪杰斯特拉+01背包)
In Action Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- supersockets多个 listener
你可以增加一个子节点 "listeners" 用于添加多对监听 ip/port: <superSocket> <servers> <server na ...
- 浏览器间CSS样式兼容问题
1.display:table居中显示 在chrome和safari浏览器上兼容问题 2.滤镜 在chrome浏览器中能正常显示,在360浏览器中不能正常显示 3.省略号问题 对于一行显示,基本上对所 ...
- MongonDB指令汇总
MongoDB特点使用不存在的对象,就等于你在创建这个对象(库,表,记录) MongoDB服务器/客户端相关 (记得把配置环境变量bin,MongonDB安装后bin在C盘的programfile-- ...
- Pytorch 多 GPU 并行处理机制
Pytorch 的多 GPU 处理接口是 torch.nn.DataParallel(module, device_ids),其中 module 参数是所要执行的模型,而 device_ids 则是指 ...
- Linux 查看kafka版本
find /opt -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
- Educational Codeforces Round 7、
A - Infinite Sequence 题意:有一种这样的无限序列数 1,1,2,1,2,3..... (如果最大数n,那么就有从1到n的所有1到n的数): 思路:题意只给了1秒.直接模拟肯定 ...
- H5 移动端获取当前位置
3种方法:1.H5自带的方法,获取经纬度2.通过地图提供的JS.获取位置3.通过微信的API(这个需要公众号 / 小程序) 1.通过H5自带的获取经纬度的方法 优点: 需要引用的资源较少,H5自带的方 ...