SQL Collation
文章由来: 最近需要做这样的测试:Install the products on machine which case-insensitive SQL installed.
所谓case-insensitive SQL installed 指在数据库安装时选择排序规则时 需要选择大小写区别的规则。
排序规则简介:
MS是这样描述的:"在 Microsoft SQL Server 2000 中,字符串的物理存储由排序规则控制。排序规则指定表示每个字
符的位模式以及存储和比较字符所使用的规则
先说在安装时的排序规则:
使用 Microsoft SQL Server 安装向导的“排序规则设置”页,可以修改 SQL Server 用于语言和排序用途的默认排序规则
设置。选择“排序规则指示符”选项可以匹配其他 SQL Server 安装的排序规则设置或者其他计算机的排序规则设置。使用
“SQL 排序规则”选项可以匹配与 SQL Server 早期版本中的排序顺序兼容的设置。
SQL Server 提供了两组排序规则:Windows 排序规则和 SQL Server 排序规则。您可以为数据库引擎和 Analysis
Services 指定不同的排序规则设置,也可以为它们指定相同的排序规则。
Analysis Services仅使用 Windows 排序规则。如果计划安装 Analysis Services,请在 SQL Server 安装期间,选择 Windows
排序规则,以确保 SQL Server 数据库引擎和 Analysis Services 之间结果的一致性。
排序规则类别:
a.Windows 排序规则:为了使 SQL Server 能够支持对安装 SQL Server 实例的操作系统可用的 Windows 系统区域设置
而定义的. 通过为 SQL Server 指定 Windows 排序规则,并为计算机指定关联的 Windows 区域设置,SQL Server 实
例便与计算机上运行的应用程序使用相同的代码页及排序和比较规则。例如,SQL Server 的法语 Windows 排序规则与
Windows 法语区域设置的排序规则属性相匹配.
b.SQL Server 排序规则:SQL Server 排序规则是一种兼容性选项,用来匹配 SQL Server 早期版本所指定的代码页号和排
序顺序的公用组合属性
排序规则的应用:
eg: 让表NAME列的内容按拼音排序
create table test(id int
相关文档:
to_date和to_char是oracle里里面的内置函数而不是标准的sql语法中的函数,用法举例:
1.to_char,返回结果可显示为各种形式
select to_char(sysdate,'yyyy/mm/dd') ,sysdate from dual;
结果: 2010/05/26 &nbs ......
类型名称
Oracle
SQLServer
比较
字符数据类型
CHAR
CHAR
都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型
VARCHAR2
VARCHAR
Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串
NCHAR
NCHAR
前者最大长度2kb后者最大长度4 ......
最近在一个项目中遇到需要在数据层就拼接表中一列数据的问题。
例如,test表中有个字段t,t列中的4行数据为1,2,3,4 ,要拼接成1+2+3+4,琢磨了一阵,本来想用游标,但是效率。。后来找到一段SQL,可以很方便地拼接。
DECLARE @STR VARCHAR(8000) ----定义查询字符串
SELECT @STR=ISNULL(@STR+'+','')+t from (SELECT DIST ......
关于sql连接语句中的Integrated Security=SSPI
解决方法:
即:Security Support Provider Interface
设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的,即采用windows身份验证模式。
只有设置为 False 或省略该项的时候,才按照 UserID, PW 来连接。
Integrated Security 可以设置为: ......
已知一个表的结构为:
姓名 科目 成绩
张三 语文 20
张三 数学 30
张三 英语 50
李四 语文 70
李四 数学 60
李四 英语 90
怎样通过select语句把他变成以下结构:
姓名 语文 数学 英语
张三 20 30 50
李四 70 60 90
答:
CREATE TABLE [dbo].[Stu] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Name] ......