Heim  >  Artikel  >  Datenbank  >  Zusammenfassung der Verwendung allgemeiner Funktionen in SQL Server

Zusammenfassung der Verwendung allgemeiner Funktionen in SQL Server

巴扎黑
巴扎黑Original
2017-08-11 15:26:461878Durchsuche

Dieser Artikel stellt hauptsächlich eine Zusammenfassung der allgemeinen Funktionen von SQL Server vor. Freunde, die ihn benötigen, können darauf zurückgreifen.

Ich wollte zuvor einige allgemeine Funktionen von SQL aufzeichnen, habe sie jedoch nie implementiert. . . hey-hey. . .

Die Funktion substring() wird bis heute verwendet. Der Startwert dieser Methode in C# ist 0, während der Startwert in SQL 1 ist. Dumm, ich kann den Unterschied nicht erkennen. . .

Dieser Blog wird verwendet, um die Verwendung von SQL-Funktionen aufzuzeichnen. Ich werde schreiben, wo immer ich daran denke, sie zu verwenden. . .

SubString(): Methode zum Abfangen der angegebenen Zeichenfolge. Diese Methode hat drei Parameter:

Parameter 1: wird verwendet, um die Zeichenfolge anzugeben, die bearbeitet werden soll.

Parameter 2: Wird verwendet, um die Startposition der abzufangenden Zeichenfolge anzugeben. Der Startwert ist 1.

Parameter 3: wird verwendet, um die abzufangende Länge anzugeben.


select substring('abcdef',1,3)  -- 返回 abc
select substring('123456321',0,2)  -- 返回 1,即第一位,最好不要这样做

Left(): wird verwendet, um den linken Teil der angegebenen Länge in der angegebenen Zeichenfolge zurückzugeben. Diese Methode hat zwei Parameter:

Parameter 1: wird verwendet, um die Zeichenfolge anzugeben, die bearbeitet werden soll.

Parameter 2: wird verwendet, um die Länge des zurückzugebenden Teilstrings anzugeben.


select LEFT('abc123',3)    -- 返回 abc
select LEFT('左侧部分右侧部分',4)  -- 返回 左侧部分

Right(): wird verwendet, um den rechten Teil der angegebenen Länge in der angegebenen Zeichenfolge zurückzugeben. Diese Methode hat zwei Parameter:

Parameter 1: wird verwendet, um die Zeichenfolge anzugeben, die bearbeitet werden soll.

Parameter 2: wird verwendet, um die Länge des zurückzugebenden Teilstrings anzugeben.


select RIGHT('abc123',3)    -- 返回 123
select RIGHT('左侧部分右侧部分',4)  -- 返回 右侧部分

CharIndex(): wird verwendet, um die Startposition des angegebenen Teilstrings im angegebenen String zurückzugeben. Gibt 0 zurück, wenn nicht gefunden. Diese Methode hat zwei Parameter:

Parameter 1: wird verwendet, um die zu durchsuchende Zeichenfolge anzugeben.

Parameter 2: wird verwendet, um die zum Abruf verwendete Zeichenfolge anzugeben.


select charindex('a','123a123')    -- 返回 4
select charindex('abc','123a123')  -- 返回 0
select charindex('abc','123abc123')  -- 返回 4

Stuff(): Wird verwendet, um Zeichen einer bestimmten Länge zu löschen und neue Zeichen/Werte an den gelöschten Positionen einzufügen. Diese Methode hat vier Parameter:

Parameter 1: wird verwendet, um die Zeichenfolge anzugeben, die bearbeitet werden soll.

Parameter 2: Wird verwendet, um die Startposition der zu löschenden Zeichen anzugeben.

Parameter 3: wird verwendet, um die Länge der zu löschenden Zeichen anzugeben.

Parameter 4: wird verwendet, um die neue Zeichenfolge/den neuen Wert anzugeben, der an der gelöschten Position eingefügt wird.


select stuff('123abc456',4,3,'ABC')    -- 返回 123ABC456
select stuff('123abc456',1,3,'')  -- 返回 abc456,用空字符串替代

Len(): wird verwendet, um die Länge des Werts des angegebenen Textes zurückzugeben. Führende Leerzeichen werden gezählt, nachfolgende Leerzeichen nicht. Diese Methode hat einen Parameter:

Parameter 1: wird verwendet, um den Text oder die Zeichenfolge anzugeben, die bearbeitet werden soll.


select len('123')  -- 返回 3
select len('字符串')  -- 返回 3

Difference(): Wird verwendet, um einen ganzzahligen Wert zurückzugeben, der die Differenz zwischen den SOUNDEX-Werten zweier Zeichenausdrücke angibt. (d. h. die Ähnlichkeit zweier Zeichenfolgen) Was ist also ein SOUNDEX-Wert? Denken Sie zuerst daran, dann ist es an der Reihe.

Der zurückgegebene Wert reicht von 0 bis 4: 0 bedeutet fast unterschiedlich oder völlig unterschiedlich, 4 bedeutet fast gleich oder genau gleich. Diese Methode hat zwei Parameter:

Parameter 1: wird verwendet, um den ersten zu vergleichenden String-SOUNDEX-Wert anzugeben.

Parameter 2: wird verwendet, um den zweiten zu vergleichenden String-SOUNDEX-Wert anzugeben.


select difference('action','demo')    -- 返回 2
select difference('123456','整数')    -- 返回 4

Soundex(): wird verwendet, um den SOUNDEX-Wert der angegebenen Zeichenfolge zurückzugeben. SOUNDEX ist ein phonetischer Algorithmus, der die Aussprache englischer Wörter verwendet, um ungefähre Werte zu berechnen. Der Wert besteht aus vier Zeichen, das erste Zeichen ist ein englischer Buchstabe und die letzten drei sind Zahlen. In Pinyin-Texten können Sie manchmal das richtige Wort aussprechen, aber nicht buchstabieren. Mit Soundex können Sie einen Fuzzy-Matching-Effekt erzielen. Das Fuzzy-Matching unterscheidet sich hier von LIKE.

Kurze Beschreibung des Algorithmus:


-- 将英文字按以下规则替换(不使用第一个字符进行匹配,并且不使用对应值为 0 的英文字符的值)
  a e h i o u w y -> 0
  b f p v -> 1
  c g j k q s x z -> 2
  d t -> 3
  l -> 4
  m n -> 5
  r -> 6

Wenn zwei oder mehr Buchstaben mit derselben entsprechenden Zahl in der Zeichenfolge zusammen sind (z. B. j und k), löschen Sie die anderen und behalten Sie nur 1. Entfernen Sie die Zeichen, deren entsprechender Wert 0 ist, und geben Sie nur die ersten 4 Bytes zurück, was nicht ausreicht, um mit 0 gefüllt zu werden.


select soundex('string')  -- 返回 S215
select soundex('str')  -- 返回 S210
select soundex('123')  -- 返回 0000
select soundex('字符串')  -- 返回 0000

PS: Andere Zeichen als englische Zeichen geben 0000 zurück, daher gibt das zweite Beispiel der Methode Difference() oben 4 zurück (was genau dasselbe bedeutet).

Lower(): wird verwendet, um die Kleinbuchstabenzeichenfolge der angegebenen englischen Zeichenfolge zurückzugeben. Wenn es sich nicht um eine englische Zeichenfolge handelt, wird der ursprüngliche Wert zurückgegeben. Diese Methode hat einen Parameter:

Parameter 1: wird verwendet, um die Zeichenfolge anzugeben, die in Kleinbuchstaben konvertiert werden soll.


select lower('ABC')    -- 返回 abc
select lower('123')  -- 返回 123

Upper(): wird verwendet, um die Großbuchstabenversion der angegebenen englischen Zeichenfolge zurückzugeben. Wenn es sich nicht um eine englische Zeichenfolge handelt, wird der ursprüngliche Wert zurückgegeben. Diese Methode hat einen Parameter:

Parameter 1: wird verwendet, um die Zeichenfolge anzugeben, die in Großbuchstaben umgewandelt werden soll.


select upper('abc')    -- 返回 ABC
select upper('123')  -- 返回 123

Ltrim(): wird verwendet, um die Zeichenfolge nach dem Entfernen führender Leerzeichen zurückzugeben. Diese Methode hat einen Parameter:

Parameter 1: wird verwendet, um die Zeichenfolge anzugeben, die aus führenden Leerzeichen entfernt werden soll.


select ltrim('    123')    -- 返回 123
select ltrim('    好多空格')  -- 返回 好多空格
select len('    123')  -- 返回 11
select len(ltrim('    123')) -- 返回 3

Rtrim(): wird verwendet, um die Zeichenfolge nach dem Abschneiden nachfolgender Leerzeichen zurückzugeben. Diese Methode hat einen Parameter:

Parameter 1: wird verwendet, um die Zeichenfolge anzugeben, die mit nachgestellten Leerzeichen abgeschnitten werden soll.


select rtrim('123     ')    -- 返回 123
select len(rtrim('123     ')) -- 返回 3

Replace(): Ersetzt alle Vorkommen des zweiten angegebenen String-Ausdrucks im ersten String-Ausdruck durch den dritten Ausdruck. Diese Methode verfügt über drei Parameter:

Parameter 1: Wird verwendet, um die Zeichenfolge anzugeben, mit der gearbeitet werden soll, dh die Zeichenfolge, mit der abgeglichen werden soll.

Parameter 2: wird verwendet, um die Zeichenfolge anzugeben, die abgeglichen werden soll.

Parameter 3: Wird verwendet, um die Zeichenfolge anzugeben, die zum Ersetzen vorhandener Übereinstimmungen verwendet wird.


--把 abc 替换为 xxx 
select replace('123abc456','abc','xxx')    -- 返回 123xxx456
-- 用空字符串替换匹配项
select replace('123abc456','abc','')  -- 返回 123456

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung allgemeiner Funktionen in SQL Server. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn