怎样用SQL语句查找出字符型字段内的最大值

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:56:58
怎样用SQL语句查找出字符型字段内的最大值,麻烦哪位大哥指点,能加个讲解就更好了。
是我没说清楚,我是想用SQl语句,查找出一个表里某字段的最大值,这字段是字符型的,但里面内容全是数字

你要说明该字段是什么类型的? 比如 number ,varchar ,date

如果是Number类型的字段的话就这样即可完成:
select max(要查的字段) from 表名;

如果是字符类型的,那你是要查长度就长的还是? 我就帮你简单写一个长度的:
select max(length(要查的字段)) from 表名

如果是date时间类型的,你就可以当做是number类型的那样查。

还有不明白的可以联系,加分就行

字符的最大值:
字符型数据的比较是按首字符进行比较的z>a>9>0>空格>''>null,首位同再往下依次比较。
数值的最大值就没什么可说的了,略。
所以如题,就需要将字符先转换为数值型,再比较,才能得到你要的结果,不然的话,会出现9>10的情况,因为是按照字符来进行比较的。

如果皆为整数:
select max(cast(字段 as int)) from 表
数字较大的就用bigint
如果带小数的就看最长的小数位有多少,比如4,则:
select max(cast(字段 as decimal(20,4))) from 表

如果都是数字,不需要转换,直接用MAX就好
select max(字段名) from 表

select max(cast(字段 as integer)) from 表

cast(字段 as integer) 将字段转换成integer型
max 取数字的最大值。

select max(to_number(colname)) from tbname