社区
MS-SQL Server
帖子详情
急!急!求varchar类型的字段的最大值
huangsizen
2003-12-25 10:59:58
字段名为no,类型为varchar.
如有数据如下: 100
1001
888
10020
现在我的问题是:求出该字段的最大值,如用“select max(no) from 表名”进行查询,则得到结果为888,但我想得到的结果是10020.
有结果马上结帖。
...全文
239
13
打赏
收藏
急!急!求varchar类型的字段的最大值
字段名为no,类型为varchar. 如有数据如下: 100 1001 888 10020 现在我的问题是:求出该字段的最大值,如用“select max(no) from 表名”进行查询,则得到结果为888,但我想得到的结果是10020. 有结果马上结帖。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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` ( ...
MySQL中
varchar
类型
字段
最大长度是多少
varchar
字段
最大值
是多少 latin1字符集编码下 utf8字符集编码下 utf8mb4字符集编码下 总结 背景 你是否知道MySQL中的
varchar
字段
类型
最大能够存储多少数据?它的最大长度是多少?为什么有时候定义一个...
mysql 查询
varchar
类型
字段
排序
一般情况下,int
类型
的
字段
可以直接使用max()函数查询出某一列的
最大值
,但是对于
varchar
型的
字段
,我们有的时候需要排序或查
最大值
,直接用max()函数查
最大值
,会发现值为9的比值10大一些,解决方案如下: ...
mysql 如何取
varchar
类型
的数据的
最大值
一个
varchar
字段
直接用MAX()函数,或直接用order_by 来取
最大值
,那取出来的结果只会是9开头的字符串(如9,15这种情况), 想要取正确的
最大值
可以利用cast()函数,将
varchar
类型
转换为integer
类型
。 实例: ...
mysql数据库
字段
类型
varchar
值为数字,取
最大值
时出现的问题
mysql数据库
字段
类型
varchar
值为数字,取
最大值
出现的问题
MS-SQL Server
34,838
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章