如何使用mysql从varchar列中选择最大值整数

时间:2019-03-05 11:31:02

标签: mysql sql

我有来自char列的数据。如何从char列中选择max int。 在这种情况下,我想从图片中的红线中选择最大

enter image description here

我希望最大值为02。

我尝试过:

select MAX(RIGHT(kode_akun,5)) as kode from tbl_akun WHERE LEFT(kode_akun,9)='1.1.03.01' 

但是我得到02.00。

3 个答案:

答案 0 :(得分:0)

SELECT MAX(substring_index(substring_index(kode_akun, '.', -2), '.', -1) + 0)

答案 1 :(得分:0)

我认为您的查询是正确的。

Declare @tbl Table(
id INT ,
[group]  Varchar(50),
value varchar(50)
)

INSERT INTO @tbl VALUES(1,'1.1.03.01.00.00',NULL)
INSERT INTO @tbl VALUES(2,'1.1.03.01.01.00',NULL)
INSERT INTO @tbl VALUES(3,'1.1.03.01.02.00',NULL)

Select MAX(RIGHT([group],5)) as kode from @tbl WHERE LEFT([group],9)='1.1.03.01'

此表中的最大值为2.0

答案 2 :(得分:0)

您写的是正确的,只需使用LEFT()上的RIGHT(kode_akun,5)函数获得02.00的前两位数字

select MAX(LEFT(RIGHT(kode_akun,5),2)) as kode from tbl_akun WHERE LEFT(kode_akun,9)='1.1.03.01'  group by LEFT(IP,9)