@echo off set arg=%1 if "%arg%" == "" set arg=* if "%arg%" == "-h" ( echo sort by numbers in filename echo usage: nsort [drive:][path][filename] exit /b ) setlocal EnableExtensions for /F "delims=" %%I in
lst = [2,22,4,7,18]for j in range(len(lst)): #记录内部排序的次数 i = 0 while i < len(lst)-1: if lst[i] > lst[i+1]: # 判断前后的大小 lst[i],lst[i+1] = lst[i+1],lst[i] #最大的往前右排,互换位子 i = i + 1print(lst)
我的 itemNum 从1到20,可是超过了SQLServer的默认排序这样的1101112...19234567如何才能让排序成为这样1234567891011.. . 解决办法:因为 itemNum 是 VARCHAR 字符串类型,要按数字大小排序需要将它转换为 INT 类型 select * from tb order by cast(itemNum as int)