第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

SQL Server:使所有大寫字母變?yōu)檎_的字母/標(biāo)題字母

SQL Server:使所有大寫字母變?yōu)檎_的字母/標(biāo)題字母

慕少森 2019-11-11 15:59:41
我有一個(gè)作為所有大寫字母導(dǎo)入的表,我想將其轉(zhuǎn)換為大寫字母。你們使用什么腳本來完成此任務(wù)?
查看完整描述

3 回答

?
慕妹3242003

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊

這是可以解決問題的UDF ...


create function ProperCase(@Text as varchar(8000))

returns varchar(8000)

as

begin

  declare @Reset bit;

  declare @Ret varchar(8000);

  declare @i int;

  declare @c char(1);


  if @Text is null

    return null;


  select @Reset = 1, @i = 1, @Ret = '';


  while (@i <= len(@Text))

    select @c = substring(@Text, @i, 1),

      @Ret = @Ret + case when @Reset = 1 then UPPER(@c) else LOWER(@c) end,

      @Reset = case when @c like '[a-zA-Z]' then 0 else 1 end,

      @i = @i + 1

  return @Ret

end

但是,您仍然必須使用它來更新數(shù)據(jù)。


查看完整回答
反對 回復(fù) 2019-11-11
?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

我玩游戲有點(diǎn)晚了,但是我相信這是更實(shí)用的功能,并且可以與任何語言一起使用,包括俄語,德語,泰語,越南語等。它將在'或-或之后加上大寫字母?;颍ɑ颍┗蚩崭瘢@然是:)。


CREATE FUNCTION [dbo].[fnToProperCase]( @name nvarchar(500) )

RETURNS nvarchar(500)

AS

BEGIN

declare @pos    int = 1

      , @pos2   int


if (@name <> '')--or @name = lower(@name) collate SQL_Latin1_General_CP1_CS_AS or @name = upper(@name) collate SQL_Latin1_General_CP1_CS_AS)

begin

    set @name = lower(rtrim(@name))

    while (1 = 1)

    begin

        set @name = stuff(@name, @pos, 1, upper(substring(@name, @pos, 1)))

        set @pos2 = patindex('%[- ''.)(]%', substring(@name, @pos, 500))

        set @pos += @pos2

        if (isnull(@pos2, 0) = 0 or @pos > len(@name))

            break

    end

end


return @name

END

GO


查看完整回答
反對 回復(fù) 2019-11-11
  • 3 回答
  • 0 關(guān)注
  • 562 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號