2016-10-27 1 views
-1

Ich habe eine sehr große Tabelle von Wörtern, die in einer Spalte namens "Englisch" gespeichert sind.Wie kann ich das erste Zeichen eines Wortes in Kleinbuchstaben ändern, wenn es zwischen A und Z liegt?

Gibt es eine Möglichkeit, die Zeilen in dieser Tabelle so zu aktualisieren, dass jedes Wort, das mit einem Großbuchstabe A-Z beginnt, in demselben Zeichen aber Kleinbuchstabe geändert wird.

+0

den ersten Buchstaben nur? oder alle Zeichen, die in Kleinbuchstaben verschoben werden sollen? – Zeina

+1

Mögliches Duplikat von [SQL: Großbuchstaben zuerst schreiben] (http://stackoverflow.com/questions/15290754/sql-capitalize-first-letter-only) –

+0

Bitte lesen [fragen] und teilen Sie, was Sie versucht haben. – CodeCaster

Antwort

2

Bitte versuchen Sie Folgendes.

UPDATE StudentMasters 
SET  StdName = LOWER(LEFT(StdName,1)) + SUBSTRING(StdName,2,LEN(StdName)) 
WHERE LEFT(StdName,1) = UPPER(LEFT(StdName,1)) COLLATE Latin1_General_CS_AI 

In diesem haben wir Tabellenname 'StudentMasters' und Feldname 'StdName'. Obige Abfrage aktualisiert Ihren Feldwert entsprechend Ihrer Erwartung.

0

Verwenden Sie das folgende Skript, um den ersten Buchstaben der Spalte in Kleinbuchstaben zu schreiben.

UPDATE y 
SET YourColumn=LOWER(LEFT(YourColumn,1))+SUBSTRING(YourColumn,2,LEN(YourColumn)) 
FROM YourTable y 
+1

Es muss eine WHERE-Bedingung sein, da das Wort nur mit einem Großbuchstaben beginnen soll. – Husen

1

versuchen, dies mit anderen Beispieldaten,

declare @t table(col1 varchar(50)) 
insert into @t values ('DF454fdgd'),('45345dfgfgdf') 

SELECT * 
    ,replace(col1, SUBSTRING(col1, 1, 2) 
, LOWER(SUBSTRING(col1, 1, 2))) newCol 
FROM @t 
WHERE col1 LIKE '[A-Z]%' 
Verwandte Themen