Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL:केवल पहले अक्षर को बड़ा करें

क्या आप कॉलम का नाम बदलने या कॉलम के अंदर डेटा को कैपिटल करने के लिए कह रहे हैं? अगर इसका डेटा आपको बदलना है, तो इसका इस्तेमाल करें:

UPDATE [yourtable]
SET word=UPPER(LEFT(word,1))+LOWER(SUBSTRING(word,2,LEN(word)))

यदि आप इसे केवल प्रदर्शित करने के लिए बदलना चाहते हैं और तालिका में वास्तविक डेटा को बदलने की आवश्यकता नहीं है:

SELECT UPPER(LEFT(word,1))+LOWER(SUBSTRING(word,2,LEN(word))) FROM [yourtable]

आशा है कि यह मदद करता है।

संपादित करें:मुझे '-' के बारे में पता चला है, इसलिए इस समस्या को एक समारोह में हल करने का मेरा प्रयास यहां है।

CREATE FUNCTION [dbo].[CapitalizeFirstLetter]
(
--string need to format
@string VARCHAR(200)--increase the variable size depending on your needs.
)
RETURNS VARCHAR(200)
AS

BEGIN
--Declare Variables
DECLARE @Index INT,
@ResultString VARCHAR(200)--result string size should equal to the @string variable size
--Initialize the variables
SET @Index = 1
SET @ResultString = ''
--Run the Loop until END of the string

WHILE (@Index <LEN(@string)+1)
BEGIN
IF (@Index = 1)--first letter of the string
BEGIN
--make the first letter capital
SET @ResultString =
@ResultString + UPPER(SUBSTRING(@string, @Index, 1))
SET @Index = @Index+ 1--increase the index
END

-- IF the previous character is space or '-' or next character is '-'

ELSE IF ((SUBSTRING(@string, @Index-1, 1) =' 'or SUBSTRING(@string, @Index-1, 1) ='-' or SUBSTRING(@string, @Index+1, 1) ='-') and @Index+1 <> LEN(@string))
BEGIN
--make the letter capital
SET
@ResultString = @ResultString + UPPER(SUBSTRING(@string,@Index, 1))
SET
@Index = @Index +1--increase the index
END
ELSE-- all others
BEGIN
-- make the letter simple
SET
@ResultString = @ResultString + LOWER(SUBSTRING(@string,@Index, 1))
SET
@Index = @Index +1--incerase the index
END
END--END of the loop

IF (@@ERROR
<> 0)-- any error occur return the sEND string
BEGIN
SET
@ResultString = @string
END
-- IF no error found return the new string
RETURN @ResultString
END

तो फिर कोड होगा:

UPDATE [yourtable]
SET word=dbo.CapitalizeFirstLetter([STRING TO GO HERE])


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्पॉटलाइट ट्यूनिंग पैक बेसिक:बेस्ट फ्री SQL ऑप्टिमाइज़ेशन टूल

  2. SQL सर्वर में नेस्टेड चयन कथन

  3. SQL सर्वर 2016 :उपलब्धता समूह संवर्द्धन

  4. SQL सर्वर में आंशिक रूप से उद्धृत CSV फ़ाइल थोक सम्मिलित करें

  5. ATAN () SQL सर्वर में उदाहरण