1 SQL Server 不支持数据库使用除默认排序规则以外的排序规则。因此,在重建 master 数据库之前,请从用户数据库中导出所有数据。2 为数据库中的所有对象生成脚本。3 使用适当的排序规则重新创建 master 数据库。4 创建新的数据库。使用新的默认排序规则自动创建新的数据库。5 运行以前保存的脚本以重新创建对象,然后导入以前导出的数据。
declare @TBLName table (
tid int identity(1,1),
TBLName sysname
)
insert into @TBLName
select name
from dbosysobjects(nolock)
where type = 'U'
order by Name
循环执行
create table #CheckTableS (
[Name] nvarchar(50),
[Rows] char(20),
[reserved] varchar(20),
[Data] varchar(20),
[index_size] varchar(20),
[Unused] varchar(20)
)
insert into #CheckTableS
execute sp_spaceused 加上面 @TBLName裏面的表名
select from #CheckTableS
就可以得到了
你的写法是错误的,按照你的写法在对n进行降序排序时,第一个m升序排序结果会失效,等于最终只读n做了降序排序,而且你的语句本身也比较冗余。
正确的写法是:
SELECT FROM a ORDER BY m ASC ,n DESC;
我们可以通过一些实例来具体分析order by 子句的用法:
假设有Orders 表:
1、实例 1
以字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company
结果如下:
2、实例 2
以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
结果如下:
3、实例 3
以逆字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
结果如下:
4、实例 4
以逆字母顺序显示公司名称,并以数字顺序显示顺序号:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
结果如下:
注意:在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。
插入的时候不存在新增的行在末尾这一说法,不过mysql的myisam引擎貌似可以控制在行尾插入,oracle不带这种功能。。
数据库是以文件形式存储在文件系统中,不存在像堆积木一样,一行行堆上去。。 只能说查询出来的内容可以排序。。
SELECTTOP10FROM表名ORDERBY排序列DESC;
SQL的执行顺序先按照你的要求排序,然后才返回查询的内容。例如有一个名为ID自动增长的列,表中有100条数据,列的值得分别是1、2、3、49、99、100。那么查询加了DESC你得到的是91到100条,就是最后十条,如果加ASC你得到的将会是1到10,也就是最前面的那几条。
降序用desc65条记录用top;
如selecttop65from表orderby要按降序的字段desc;
selecttop65fromtableorderbyiddesc。
新建一个表,将旧表数据导入新表,然后新表的字段排序就是OK的了
insert into AA_NEW( ID1,ID2,ID3,ID4 ) (select ID1,ID2,ID3,ID4 from AA)
然后把AA删了,将AA_NEW改名成AA
将字段依次写在order
by
后面即可
,
中间用逗号隔开。
view plaincopy to clipboardprint
select from 表 order by time , name
select from 表 order by time asc , name asc
select from 表 order by time desc , name desc
select from 表 order by time asc , name desc
select from 表 order by time desc , name asc(注:
asc
表示升序
,
desc表示降序
,
未明确写明排序方式时默认是升序)
与之类似的语法是
group
by
,
按多个字段分组时
,
也是依次将多个字段写在group
by
的后面
,
并用逗号隔开
,
范例如下:
view plaincopy to clipboardprint
select time , name , sum() from 表 group by time , name
以上就是关于如何在 SQL Server 中转换数据库的排序规则全部的内容,包括:如何在 SQL Server 中转换数据库的排序规则、sql语句数据库排序、SQL语句排序的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)