关于排序

jy0102 2002-11-14 02:49:19
在一表中有“规格”一列,其内容为:1g,2g,3g,10g,按规格一列排序,可是顺序总是
1g,10g,2g,3g 如何排列为1g,2g,3g,10g(其id是不定的。)
...全文
39 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jy0102 2002-11-14
  • 打赏
  • 举报
回复
有汉字的总排在后面
jy0102 2002-11-14
  • 打赏
  • 举报
回复
试一下,谢谢!
icevi 2002-11-14
  • 打赏
  • 举报
回复
一样,你在前面补零吧。
jy0102 2002-11-14
  • 打赏
  • 举报
回复
规格中还有ml,千克,t,包
shitalone 2002-11-14
  • 打赏
  • 举报
回复
icevi(按钮工厂):
高手出手果然不凡,第二中办法太巧妙了,收藏!
CrazyFor 2002-11-14
  • 打赏
  • 举报
回复
order by right('0000000000000'+rtrim(规格),规格字段的长度)
shitalone 2002-11-14
  • 打赏
  • 举报
回复
有意思,我也想知道,up!
不过既然你的单位都是g,何不把字段换成数字型的算了
1,2,3,10
这样排序肯定对。
程序要用再在程序里面加上g
icevi 2002-11-14
  • 打赏
  • 举报
回复
或者order by replicate('0',20-len(规格))+规格
里面的20视情况而定。
icevi 2002-11-14
  • 打赏
  • 举报
回复
order by cast(replace(规格,'g','') as int)
jy0102 2002-11-14
  • 打赏
  • 举报
回复
谢谢

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧