社区
MS-SQL Server
帖子详情
急!急!求varchar类型的字段的最大值
huangsizen
2003-12-25 10:59:58
字段名为no,类型为varchar.
如有数据如下: 100
1001
888
10020
现在我的问题是:求出该字段的最大值,如用“select max(no) from 表名”进行查询,则得到结果为888,但我想得到的结果是10020.
有结果马上结帖。
...全文
254
13
打赏
收藏
急!急!求varchar类型的字段的最大值
字段名为no,类型为varchar. 如有数据如下: 100 1001 888 10020 现在我的问题是:求出该字段的最大值,如用“select max(no) from 表名”进行查询,则得到结果为888,但我想得到的结果是10020. 有结果马上结帖。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huangsizen
2003-12-25
打赏
举报
回复
好,马上结帖
qiaolin53
2003-12-25
打赏
举报
回复
varchar是字符型的,你对它max,得到的结果是按照字符的ANSI码进行比较的
例如
888和A比较,肯定是A>888
必须转换成数字型的再比较或求max
huangsizen
2003-12-25
打赏
举报
回复
victorycyz():你写的第一个可以,但第二个不可以,可不可以再写一个过来?
qiaolin53
2003-12-25
打赏
举报
回复
select max(convert(integer,字段)) from 表
jingxijun
2003-12-25
打赏
举报
回复
中海的方法好
改进一下 中海的:
select ltrim(rtrim(max(right(replicate(' ',1000)+ltrim(rtrim([no])),1000)))) from tablename
wuqiuzhi
2003-12-25
打赏
举报
回复
真是衰,没有看明白题意,呵呵!
我想是不是可以先选出里面长度最大的,保证是数字同时第一个是非0,然后再比较首字符最大的。
wuqiuzhi
2003-12-25
打赏
举报
回复
首先varchar的最大长度是8000,
另外:select max(datalen(no)) from yourtable
victorycyz
2003-12-25
打赏
举报
回复
避免溢出:
select max(right(replicate(' ',1000)+[no],1000)) from tablename
jingxijun
2003-12-25
打赏
举报
回复
select max(cast(no as DECIMAL)) 行不?
select max(cast(no as MONEY))
--MONEY介于 – 922,337,203,685,477.5808 到 922,337,203,685,477.5807 之间的符号整数。
zjcxc
元老
2003-12-25
打赏
举报
回复
select max(cast(no) as decimal(38,0))) from 表
victorycyz
2003-12-25
打赏
举报
回复
select max(cast([no] as bigint)) from tablename
huangsizen
2003-12-25
打赏
举报
回复
不行,如有数据200312250001时,转换时发生错误,"varchar值'200312250001'的转换溢出了int列
jingxijun
2003-12-25
打赏
举报
回复
select max(cast(no as int)) from 表名
mysql
求
varchar
类型
的
最大值
(或按照
varchar
类型
排序)
工作中为了方便后续扩展,建表时将数字
类型
定义为
varchar
类型
进行存储,但是在排序时会乱序,这里是因为mysql默认order by 只对数字与日期
类型
可以排序 演示: 一、数据初始化 CREATE TABLE `test
varchar
max` ( `age`
varchar
(32) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;...
MySQL中
varchar
类型
字段
最大长度是多少
背景 字节和字符的区分 为什么是
varchar
(255)而不是(256)
varchar
字段
最大值
是多少 latin1字符集编码下 utf8字符集编码下 utf8mb4字符集编码下 总结 背景 你是否知道MySQL中的
varchar
字段
类型
最大能够存储多少数据?它的最大长度是多少?为什么有时候定义一个
varchar
(10)的
字段
可以存储10个汉字,但是不能存储超过10个长度的字母呢?为什么有时候我定义的
varchar
(10)的
字段
又存储不了10个汉字呢?为什么很多地方在定义va.
mysql 查询
varchar
类型
字段
排序
首先,如果里面存的是字母,会按英文字母顺序排序,如果含有数字,按数字大小排序,如果含有汉字,按照所选择的汉字编码排序。 一般情况下,int
类型
的
字段
可以直接使用max()函数查询出某一列的
最大值
,但是对于
varchar
型的
字段
,我们有的时候需要排序或查
最大值
,直接用max()函数查
最大值
,会发现值为9的比值10大一些,解决方案如下: 1.SELECT MAX(field+0) FR
mysql 如何取
varchar
类型
的数据的
最大值
一个
varchar
字段
直接用MAX()函数,或直接用order_by 来取
最大值
,那取出来的结果只会是9开头的字符串(如9,15这种情况), 想要取正确的
最大值
可以利用cast()函数,将
varchar
类型
转换为integer
类型
。 实例: select MAX(CAST(mark AS SIGNED)) as mark from default_vs_make_order_gro...
mysql数据库
字段
类型
varchar
值为数字,取
最大值
时出现的问题
mysql数据库
字段
类型
varchar
值为数字,取
最大值
出现的问题
MS-SQL Server
34,874
社区成员
254,640
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章