您的位置:首页 > 数据库

SQLServer设置单词首字母大写

2009-08-25 14:06 423 查看
能实现效果的方法有很多种,这里借用Js的正则表达式来处理.

/*

--SQLServer中将字符串首字母设置大写:

--作者:jinjazz /csdn

--SQLServer2005启用OLEAutomation

sp_configure 'show advanced options', 1;

go

RECONFIGURE;

go

sp_configure 'Ole Automation Procedures', 1;

go

RECONFIGURE;

go

*/

use
tempdb

go

if
(object_id
('fn_toTitleCase'
) is
not
null
)

drop
function
dbo
.
fn_toTitleCase

go

create
function
fn_toTitleCase
(@inStr
varchar
(8000
))

returns
varchar
(8000
)

as

begin

declare
@str
varchar
(8000
)

set
@str
=
'var data = "'
+@inStr
+
'";

var reg = //b(/w)|/s(/w)/g ;

data = data.toLowerCase();

data.replace(reg,function(m){return m.toUpperCase()});'

declare
@object
int

declare
@r
varchar
(800
)

exec
sp_OACreate
'MSScriptControl.ScriptControl'
,@object
output

exec
sp_OASetProperty
@object
,
'Language'
,
'javascript'

exec
sp_OAMethod
@object
,
'eval'
,
@r
out
,
@str

return
@r

end

go

select
dbo.
fn_toTitleCase
('create function fn_toTitleCase(@inStr varchar(8000)) returns varchar(8000)'
)

/*输出

Create Function Fn_totitlecase(@Instr Varchar(8000)) Returns Varchar(8000)

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐