一种方法可以是:
拆分串入的第一个字符上,其余的像这样:
UPPER(LEFT(string)) + RIGHT(string, LEN(string) - 1)
然后更换任何空间后跟一个字母与上壳体它如:
REPLACE(string, ' a', ' A')
综合以上,你可以这样做:
SELECT
UPPER(LEFT('have a great day')) +
REPLACE((((((((((((((((((((((((((
RIGHT('have a great day', LEN('have a great day') - 1)
, ' a', ' A'), ' b', ' B'), ' c', ' C')
, ' d', ' D'), ' e', ' E'), ' f', ' F')
, ' g', ' G'), ' h', ' H'), ' i', ' I')
, ' j', ' J'), ' k', ' K'), ' l', ' L')
, ' m', ' M'), ' n', ' N'), ' o', ' O')
, ' p', ' P'), ' q', ' Q'), ' r', ' R')
, ' s', ' S'), ' t', ' T'), ' u', ' U')
, ' v', ' V'), ' w', ' W'), ' x', ' X')
, ' y', ' Y'), ' z', ' Z')
可能需要一些调整,因为我还没有实际测试过
什么版本的SQL Server您使用的是? –
可能重复的[SQL - 大写每个单词的首字母](http://stackoverflow.com/questions/11653491/sql-capitalize-first-letter-of-each-word) –
@MikaelEriksson我在这里发布了答案。在另一个问题上或这个问题上发布标准程序是否是标准程序? –