仅将姓名的第一个字母大写

MSI*_*SIS 2 sql-server sql-server-2012

我有一个表Vendors,其中包含一列VendorContactFname,该列以小写形式编写。

我只想大写它的第一个字母。我想在左边的第一个字母上连接一个 Upper,所有其他剩余的字母都以其原始的小写字母连接到它的右边,即与子字符串:

Upper(Left(VendorContactFname,1) ) + 
Substring('VendorContactFName',2, Len('contactFname')-1 ) 
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

Pau*_*ite 8

另一种方法是使用STUFF直接替换第一个字符:

-- Demo
SELECT
    STUFF
    (
        O.name,
        1, 1,
        UPPER(LEFT(O.name, 1))
    )
FROM sys.objects AS O;
Run Code Online (Sandbox Code Playgroud)