字符大小写的问题

underlemontree 2007-10-28 04:36:21
declare @a varchar(100)
set @a='abcDEeigHUie'
想返回字符串第一个大写字母的位置。请问怎么写?--并不知道第一相是D

另处还想问一下如果想修改一个数据库eg:pubs的大小写区分设置,怎么改呢?

...全文
85 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2007-10-28
  • 打赏
  • 举报
回复
排序规则说明,参照以下:
http://blog.csdn.net/roy_88/archive/2007/01/07/1476074.aspx
go
alter table 数据库 collate Chinese_PRC_CS_AI_WS ---系统数据库是不允许改的,只能重建Master数据库时和重装时指定
中国风 2007-10-28
  • 打赏
  • 举报
回复
declare @a varchar(100)
set @a= 'abdDEeigHUie '
select charindex(N'D',@a collate Chinese_PRC_CS_AI_WS )


-----------
4

(所影响的行数为 1 行)

Limpire 2007-10-28
  • 打赏
  • 举报
回复
可在建库的时候指定排序规则。

建后改相当麻烦,可能要先改表,再改数据库——ALTER DATABASE
liangCK 2007-10-28
  • 打赏
  • 举报
回复
declare @a varchar(100)
declare @i int
set @a= 'abcDEeigHUie'

set @i=1
while @i<=len(@a)
begin
if ascii(substring(@a,@i,1))>=65 and ascii(substring(@a,@i,1))<=90
break
set @i=@i+1
end
print @i
Limpire 2007-10-28
  • 打赏
  • 举报
回复
declare @a varchar(100)
set @a= 'dddDEeigHUie'

select patindex('%[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%',@a COLLATE Chinese_PRC_CS_AS)--OK

select patindex('%[A-Z]%',@a COLLATE Chinese_PRC_CS_AS)--error

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧