select * from where name='abc'
collate Chinese_PRC_CS_AI --加了这个注释
collate Chinese_PRC_CS_AI --加了这个注释
解决方案 »
- 在access的sql中比字符'z'的asc代码还大的字符是什么?windows是{,但sql中不是,两个规则不同
- 困扰1天了,SQL达人看下这SQL怎么搞??
- 怎么求出时间中的秒,除去分钟
- select distinct
- 从早上想到现在也解决不了的交叉表问题,请高手指教
- datatime问题
- 事务日志文件 突然膨胀到4G,该如何办
- 怎么用EXEC master..xp_cmdshell BCP 输出临时表内容到文件?
- ---SOS---- 安装SQL SERVER时的错误?
- aspx中使用sql2000出现"将截断字符串或二进制数据"是什么意思,如何解决?
- 初学者
- SQL 存储过程的可选参数是这样写的吗?
select * from where convert(binary,name)=convert(binary,'abc')
如果不能确定数据库是否使用区分大小写的搜索,可以在搜索条件中使用 UPPER 或 LOWER 函数转换搜索数据的大小写,如下例所示:WHERE UPPER(lname) = 'SMITH'
楼主的问题可以转换为二进制再进行比较
select * from where cast(name as varbinary)=cast('abc' as varbianry)
(PrimaryKey int PRIMARY KEY,
CharCol varchar(10) COLLATE French_CI_AS NOT NULL
)
GO
ALTER TABLE MyTable ALTER COLUMN CharCol
varchar(10)COLLATE Latin1_General_CI_AS NOT NULL
GO不能更改正由以下对象引用的列的排序规则: 计算列。
索引。
自动生成或由 CREATE STATISTICS 语句生成的分发统计。
CHECK 约束。
FOREIGN KEY 约束。
还可在 ALTER DATABASE 上使用 COLLATE 子句来更改数据库的默认排序规则:ALTER DATABASE MyDatabase COLLATE French_CI_AS更改数据库的默认排序规则不会更改任何现有用户定义表中的列排序规则。可使用 ALTER TABLE 更改列的排序规则。在 ALTER DATABASE 语句上使用 COLLATE CLAUSE 可以: 更改数据库的默认排序规则。新的默认排序规则适用于随后创建在数据库中的所有列、用户定义数据类型、变量和参数。在数据库中定义的对象上解析 SQL 语句中指定的对象标识符时,也使用新的默认排序规则。
将系统表中的任何 char、varchar、text、nchar、nvarchar 或 ntext 列更改为使用新的排序规则。
将存储过程和用户定义函数的所有现有的 char、varchar、text、nchar、nvarchar 或 ntext 参数和标量返回值更改为使用新的排序规则。
将 char、varchar、text、nchar、nvarchar 或 ntext 系统数据类型,以及基于这些系统数据类型的所有用户定义数据类型更改为使用新的默认排序规则。
为列或数据库以外的任何其它对象指派了排序规则后,将不能更改排序规则,除非除去并重新创建对象。这一操作将十分复杂。若要更改 Microsoft® SQL Server™ 2000 实例的默认排序规则,必须: 确保具有重新创建用户数据库及数据库中的所有对象所需的全部信息或脚本。
使用工具(如大容量复制)导出所有数据。
除去所有用户数据库。
重建 master 数据库并指定新的排序规则。
创建所有数据库及数据库中的所有对象。
导入所有数据。
select * from where convert(binary,name)=convert(binary,'abc')上面这句还是找不到呀,name 原来的数据类型是nchar.
请高手指点
======>
表示按GB字符集区分大小写且不区分重音
wgsasd311(自强不息):select * from where cast(name as varbinary)=cast('abc' as varbianry)这条语句没有任何查询结果呀?name的数据类型是nvarchar。另外用WHERE UPPER(name) = 'SMITH','SMITH'和'smith'都在查询结果中,没能实现筛远,另外在ACCESS中确不支持这两个函数?
xueguang(xg):select * from where convert(binary,name)=convert(binary,'abc')这条语句没有任何查询结果呀?name的数据类型是nvarchar。
大家回答的太好了,只是这次分发少了,有谁知道怎么可以加分么?
select * from where convert(binary,ltrim(rtrim(name)))=convert(binary,'abc')
select * from where convert(binary,ltrim(rtrim(name)))=convert(binary,'abc')
还是没有结果呀?
还有我在VC中通过ADO使用这些语句来操纵ACCESS数据库,这些函数在ACCESS都不好使呀!
select * from where convert(binary,ltrim(rtrim(name)))=convert(binary,'abc')
还是没有结果呀?