数据库排序规则不对,如何修改

数据库排序规则不对,如何修改,第1张

2、选择数据对象中,选择编写整个数据库及所有数据库对象的脚本

3、生成脚本选项是关键,如果不想丢掉触发器,主外键,看我的截图配置,我的是08数据库和05的界面有所不同

4、然后把脚本保存下来,在你另外一台环境正确的数据库上面执行该脚本,生成一个空库。

数据从老库导入新库中

6、导入数据唯一要注意的一个是事项是记得在导入的传输设置中,全选所有数据库表,点击编辑映射

这里有三个选项,我个人勾选了启用标识插入,其余没选。至于这三个选项看个人需要了。

7、数据传输完毕后,赶紧用新库把业务跑一遍,看看有么有问题,没有就把老库的那台机器数据库及数据库程序干掉,

重装一下数据库,重装的时候记得选对语言和排序了。

简体中文,一般默认是Chinese_PRC_CI_AS。

以上内容,可能不是适合所有情况,大家参考下,觉得有用就顶一把。

您好,很高兴为您解答。

1sp_helpsort

SELECT SERVERPROPERTY ('Collation')

查看你的排序规则

不过你的这个应该和字符集有关

2更改服务器排序规则

更改 SQL Server 2005 实例的默认排序规则的 *** 作可能会比较复杂,包括以下步骤:

确保具有重新创建用户数据库及这些数据库中的所有对象所需的全部信息或脚本。

使用工具(例如大容量复制)导出所有数据。

删除所有用户数据库。

重新生成在 setup 命令的 SQLCOLLATION 属性中指定新的排序规则的 master 数据库。例如:

复制代码

start /wait setupexe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=SQL_Latin1_General_CP1_CI_AI

有关重新生成 master 数据库的详细信息,请参阅如何重新生成 SQL Server 2005 的 Master 数据库。

创建所有数据库及这些数据库中的所有对象。

导入所有数据。

注意:

可以为创建的每个新数据库指定默认排序规则,而不更改 SQL Server 2005 实例的默认排序规则。

3设置和更改数据库排序规则

创建新数据库时,可以使用下列内容之一指定排序规则:

CREATE DATABASE 语句的 COLLATE 子句。

SQL Server Management Studio

SQL 管理对象 (SMO) 中的 DatabaseCollation 属性。

只移动“图书”一项,按照表里的parent_id和id来看是不可能的,因为还有“百货”这个跟“图书”类似的记录,但是可以只移动“百货”和“图书”,排序按先parent_id再id就行(这样相同parent_id的记录不会打乱顺序),如下:

select 

from product

order by parent_id, id;

望采纳,谢谢

排序的命令是sort,格式是:

SORT TO 新表名 ON 字段名

补充:

例如下面的命令:

use 学生

sort on 学号 to 学生_排序

产生一个新的 学生_排序DBF 文件,里面是排序了的。

如果你只是向按照某个标准进行排序查看一下,不生成新的文件,那么可以使用SQL语句,例如:

SELECT FROM 学生 ORDER BY 总成绩 DESC

第二节为大家介绍了数据的查询,这一小节为大家深入讲解查询过程中的数据分组和排序,分组关键字为:group by,排序关键字为:order by,过滤分组的关键字为:having;

group by:对查询的数据按照某一类型进行分组, group by 一般用在order by子句之前,where子句之后

order by:对查询的数据进行某一类进行排序 或 对分组后的数据进行排序

having:对分组后的数据进行条件过滤

继续以上一章创建的客户表为例,表名: customer ,表有列: cus_id,cus_no,cus_name,cus_age,cus_adds。

eg:查询客户的基本信息,以id进行分组: select cus_id,count() as num from customer group by cus_id;  num表示对应的cus_id有多少客户数据, 查询结果如下

如果分组的列中有null值,那么null将作为一个分组返回,如果有多个行都为null值,它们将会被分为一组返回。 group by 必须用在where子句之后,order by子句之前。

除group by可以进行分组过滤数据外,having也可以进行过滤分组;having过滤和where类似,唯一区别在于where是过滤行,而having是过滤分组,可看以下列子:

eg: 查询以id分组后数据总量两条以上的数据: select cus_id,count() as num from customer group by cus_id having count() >= '2'; 满足条件的就只有一条数据

order by主要用于数据排序的情况,当查询数据量较大时,有序的数据会让人更好地直观观察数据,order by 关键字用于对结果集按照一个列或者多个列进行排序。此外order by 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。使用方法如下

eg:查询客户的基本信息,以年龄进行排序,默认升序:select  from customer order by cus_age;

eg:查询客户的基本信息,以年龄进行排序,降序方式排序:select  from customer order by cus_age DESC;

升序使用ASC,降序使用DESC,系统默认为升序。注意两者之间的差异

当对多个列进行排序时,order by使用方法如下:

order by A,B   --过滤数据都是默认按升序排列

order by A desc,B   --过滤数据时 A 降序,B 升序排列

order by A ,B desc   --过滤数据时 A 升序,B 降序排列

desc 或者 asc 只对它紧跟着的第一个列名有效,其他不受影响,仍然是默认的升序。

本小节介绍排序分组就到这里了,通过多分组排序的介绍,知道了group by,order by,having三者之间的差异和区别,大家可以在自己电脑多编写几个脚本,深入了解三个关键字的使用。

以上就是关于数据库排序规则不对,如何修改全部的内容,包括:数据库排序规则不对,如何修改、各位大神求解决:MYSQL数据库无法更改排序规则、在数据库中排序后就乱了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9314372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存