服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQLServer 设置单词首字母大写

SQLServer 设置单词首字母大写

2020-06-28 15:05SQL数据库系统 Sql Server

SQLServer 设置单词首字母大写,能实现效果的方法有很多种,这里借用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)
*/

延伸 · 阅读

精彩推荐