So sánh chuỗi lớn hơn trong sql server năm 2024

Khi một chuỗi byte đơn được chỉ định cho đối số s, mã ASCII của ký tự đầu tiên được trả về. Khi một chuỗi có độ rộng đầy đủ được chỉ định, mã ký tự UTF-8 của ký tự đầu tiên được trả về.

Show

Tranh luận

Chỉ định một ký tự kiểu VARCHAR.

Giá trị trả lại

Nếu ký tự đầu tiên là nửa độ rộng, mã ASCII và nếu là toàn độ rộng, mã ký tự UTF-8 được trả về dưới dạng giá trị số nguyên.

Nó trả về 0 nếu đối số s là một chuỗi rỗng và trả về giá trị NULL nếu đối số s là giá trị NULL.

Thí dụ

Trả về 97, mã ASCII của a đầu tiên của chuỗi abc.

CHỌN ASCII ('abc');

CHR (lấy ký tự từ mã ký tự)

Sự sắp xếp

CHR ()

Đặc tính

Trả về ký tự tương ứng với mã ký tự n của UTF-8.

Giá trị trả lại

Trả về ký tự tương ứng với mã ký tự UTF-8. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Một chuỗi trống được trả về trong các trường hợp sau:

  • Khi mã điều khiển không phải là tab (9), LF (10) hoặc CR (13) được chỉ định trong đối số
  • Khi mã ký tự không hợp lệ được chỉ định là UTF-8 trong đối số

Thí dụ

Trả về ký tự a tương ứng với mã ký tự 97.

CHỌN CHR (97);

CHAR (Nhận ký tự từ mã ký tự)

hàm số.

LENGTH (truy xuất số lượng từ)

Sự sắp xếp

CHIỀU DÀI ()

Đặc tính

Trả về độ dài của một chuỗi.

Khoảng trống, ký hiệu và ký tự có độ rộng đầy đủ đều được tính là một ký tự.

Giá trị trả lại

Loại trả lại là NUMERIC. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

CHAR_LENGTH (Lấy số ký tự)

hàm số.

CHARACTER_LENGTH (Lấy số ký tự)

hàm số.

LENGTHB (truy xuất độ dài chuỗi tính bằng byte)

Sự sắp xếp

LENGTHB ()

Đặc tính

Trả về số byte của một chuỗi được chuyển đổi thành UTF-8.

Giá trị trả lại

Loại trả lại là NUMERIC. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

OCTET_LENGTH (Lấy số byte)

hàm số.

INSTR (truy xuất vị trí chuỗi)

Sự sắp xếp

INSTR (chuỗi, chuỗi con [, vị trí [, lần xuất hiện]])

Đặc tính

Tìm kiếm một chuỗi cho các trường hợp của , bắt đầu từ ký tự tại và trả về vị trí tại đó chuỗi con được tìm thấy trong thời gian .

Nếu lớn hơn hoặc bằng "1" hoặc không được chỉ định, hàm này sẽ bắt đầu tìm kiếm từ ký tự đầu tiên của .

Nếu nhỏ hơn hoặc bằng "-1", hàm này sẽ bắt đầu tìm kiếm từ ký tự cuối cùng của .

Việc chỉ định giá trị không phải là số nguyên trong gây ra lỗi.

Việc chỉ định một giá trị nhỏ hơn hoặc bằng "0" hoặc một giá trị không phải là số nguyên trong sẽ gây ra lỗi.

Nếu không được chỉ định, hàm này trả về vị trí mà tại đó chuỗi con được tìm thấy lần đầu tiên.

Giá trị trả lại

Vị trí được tính từ đầu được trả về dưới dạng giá trị loại NUMERIC. Nếu bất kỳ đối số nào là giá trị NULL, giá trị NULL được trả về.

Trong bất kỳ trường hợp nào sau đây, "0" được trả về:

  • không được tìm thấy.
  • Một chuỗi trống đã được chỉ định cho hoặc .
  • "0" đã được chỉ định cho .
  • Một giá trị vượt quá độ dài của đã được chỉ định cho .

Thí dụ

"4" được trả về cho ví dụ đầu tiên, "10" cho ví dụ thứ hai và "1" cho ví dụ thứ ba.

CHỌN INSTR ('ABCdefGHIABC', 'def');

CHỌN INSTR ('ABCdefGHIABC', 'ABC', -1);

CHỌN INSTR ('ABCdefGHIABC', 'ABC', -1, 2);

VỊ TRÍ (Nhận vị trí chuỗi)

Sự sắp xếp

VỊ TRÍ (chuỗi con, chuỗi [, vị trí])

Đặc tính

Tìm kiếm chuỗi đối số chuỗi cho chuỗi con của chuỗi và trả về vị trí của chuỗi.

Tranh luận

Tìm kiếm chuỗi con chuỗi con chuỗi con từ ký tự vị trí của chuỗi và trả về vị trí xuất hiện.

Nếu lớn hơn hoặc bằng "1" hoặc không được chỉ định, hàm này sẽ bắt đầu tìm kiếm từ ký tự đầu tiên của .

Nếu vị trí là -1 trở xuống, tìm kiếm bắt đầu từ vị trí được giảm bớt từ tổng số ký tự.

Giá trị trả lại

Vị trí được tính từ đầu được trả về dưới dạng giá trị loại NUMERIC. Nếu bất kỳ đối số nào là giá trị NULL, giá trị NULL được trả về.

Trong bất kỳ trường hợp nào sau đây, "0" được trả về:

  • không được tìm thấy.
  • Một chuỗi trống đã được chỉ định cho hoặc .
  • "0" đã được chỉ định cho .
  • Một giá trị vượt quá độ dài của đã được chỉ định cho .

ví dụ 1

Tìm kiếm cd từ chuỗi abcdef và trả về vị trí "3" của chuỗi được tìm thấy.

CHỌN VỊ TRÍ ('cd', 'abcdef');

Ví dụ 2

Tìm kiếm cd từ ký tự thứ tư của chuỗi abcdefabcd và trả về vị trí "9" của chuỗi được tìm thấy.

CHỌN VỊ TRÍ ('cd', 'abcdefabcd', 4);

POSITION (Nhận vị trí chuỗi)

Sự sắp xếp

VỊ TRÍ (tìm kiếm nguồn IN)

Đặc tính

Tìm kiếm chuỗi tìm kiếm chuỗi trong nguồn đối số và trả về vị trí của chuỗi.

Tranh luận

Tìm kiếm từ đầu cho tìm kiếm chuỗi có trong nguồn chuỗi và trả về vị trí của tìm kiếm chuỗi.

Giá trị trả lại

Vị trí được tính từ đầu được trả về dưới dạng giá trị loại NUMERIC. Nếu bất kỳ đối số nào là giá trị NULL, giá trị NULL được trả về.

Trong bất kỳ trường hợp nào sau đây, "0" được trả về:

  • Nếu tìm kiếm không thấy
  • Khi bạn chỉ định một chuỗi trống cho tìm kiếm hoặc nguồn

Thí dụ

Tìm kiếm chuỗi abcdef cho cd và trả về vị trí "3" trong chuỗi được tìm thấy.

CHỌN VỊ TRÍ ('cd' TRONG 'abcdef');

CONCAT (nối các chuỗi ký tự)

Sự sắp xếp

CONCAT (a [, b [, c ...]])

Đặc tính

Trả về một chuỗi bao gồm nhiều chuỗi được nối với nhau theo thứ tự từ đầu.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu bất kỳ đối số nào là giá trị NULL, giá trị NULL được trả về.

Nếu đối số là loại NUMERIC, loại DATE hoặc loại INTERVAL, thì loại được chuyển đổi thành loại VARCHAR và sau đó chuỗi được nối được trả về.

Thí dụ

Trả về "1_2".

CHỌN CONCAT (1, '_', 2);

Cẩn thận

Có thể chỉ định tối đa 255 đối số.

Mẹo

Bạn cũng có thể nối các chuỗi bằng cách sử dụng toán tử nối ('||'). Để biết chi tiết, hãy xem "3-3 Toán tử nối ".

REPLACE (thay thế chuỗi ký tự)

Sự sắp xếp

REPLACE (chuỗi, chuỗi tìm kiếm [, chuỗi_tìm_kiếm])

Đặc tính

Tìm kiếm một chuỗi cho các bản sao của , sau đó thay thế mỗi bản sao bằng .

Nếu không được chỉ định, toàn bộ sẽ bị xóa.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Nếu là giá trị NULL, thì đối số được trả về.

Nếu là giá trị NULL, toàn bộ sẽ bị xóa.

LEFT (Lấy chuỗi bên trái nhất)

Sự sắp xếp

LEFT (nguồn, độ dài)

Đặc tính

Trả về các ký tự độ dài từ cuối bên trái của chuỗi nguồn đối số.

Tranh luận

Chỉ định các đối số như sau:

  • nguồn Chỉ định chuỗi nguồn.
  • chiều dài Chỉ định số ký tự cần lấy dưới dạng số nguyên. Nếu số ký tự trong nguồn lớn hơn số ký tự trong nguồn, tất cả các chuỗi được trả về. Khi một giá trị âm được chỉ định, chuỗi ký tự trừ đi tổng số ký tự sẽ nhận được từ cuối bên trái.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Thí dụ

Bốn ký tự "N123" từ cuối bên trái của chuỗi N123-456 được trả về.

CHỌN TRÁI ('N123-456', 4);

RIGHT (Lấy chuỗi ngoài cùng bên phải)

Sự sắp xếp

RIGHT (nguồn, độ dài)

Đặc tính

Trả về các ký tự độ dài từ cuối bên phải của chuỗi nguồn đối số.

Tranh luận

  • nguồn Chỉ định chuỗi nguồn.
  • chiều dài Chỉ định số ký tự cần lấy dưới dạng số nguyên. Nếu số ký tự trong nguồn lớn hơn số ký tự trong nguồn, tất cả các chuỗi được trả về. Nếu bạn chỉ định một giá trị âm, chuỗi được giảm từ tổng số ký tự sẽ nhận được từ cạnh bên phải.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Thí dụ

Trả về ba ký tự "456" từ cuối bên phải của chuỗi N123-456.

CHỌN CHR (97);

0

MID (trích xuất chuỗi ký tự)

Sự sắp xếp

MID (chuỗi, bắt đầu [, độ dài])

Đặc tính

Trích xuất một chuỗi con từ một chuỗi và trả về nó. Điểm bắt đầu và độ dài của chuỗi con được xác định bởi các tham số .

Nếu là "0", nó được coi là "1".

Nếu lớn hơn hoặc bằng "1", hàm này đếm các ký tự từ ký tự đầu tiên của .

Nếu nhỏ hơn hoặc bằng "-1", hàm này đếm các ký tự từ ký tự cuối cùng của .

Việc chỉ định giá trị không phải là số nguyên trong hoặc gây ra lỗi.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Nếu không được chỉ định, tất cả các ký tự sau (trước) điểm bắt đầu được trả về.

Nếu độ dài nhỏ hơn hoặc bằng "0", hàm VARCHAR có độ dài bằng không được trả về.

Thí dụ

"cd" được trả về cho ví dụ đầu tiên và "ef" cho ví dụ thứ hai.

CHỌN CHR (97);

1

CHỌN CHR (97);

2

SUBSTR (trích xuất chuỗi ký tự)

Giống như .

SUBSTRING (trích xuất chuỗi ký tự)

Giống như .

INITCAP (viết hoa đầu từ)

Sự sắp xếp

INITCAP (chuỗi)

Đặc tính

Chuyển chữ cái đầu tiên của mỗi từ trong chuỗi thành chữ hoa và phần còn lại thành chữ thường. Điều này cũng chuyển đổi các ký tự có độ rộng đầy đủ.

Trong hàm này, một từ có nghĩa là một chuỗi được phân tách bằng một trong các ký tự sau:

CHỌN CHR (97);

3

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Thí dụ

Các ví dụ về đặc điểm kỹ thuật và kết quả của chúng được hiển thị trong bảng sau:

  • CHỌN INITCAP ('Buổi sáng tốt lành'); 'Buổi sáng tốt lành'
  • SELECT INITCAP ('go od morning'); 'Buổi sáng tốt lành'
  • CHỌN INITCAP ('123 Ngày'); '123 ngày'
  • SELECT INITCAP('A1B2C3D A1B2 Katakana C3D'); 'A1b2c3d A1b2katakanaC3d'
  • SELECT INITCAP ('G_O-OD morning'); 'Buổi sáng tốt lành'

UCASE (chuyển đổi thành chữ hoa)

Sự sắp xếp

UCASE (chuỗi)

Đặc tính

Chuyển đổi tất cả các chữ cái trong một chuỗi thành chữ hoa. Điều này cũng chuyển đổi các ký tự có độ rộng đầy đủ thành chữ hoa.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

UPPER (chuyển thành chữ hoa)

Giống như .

LCASE (chuyển đổi thành chữ thường)

Sự sắp xếp

LCASE (chuỗi)

Đặc tính

Chuyển đổi tất cả các chữ cái trong một chuỗi thành chữ thường. Điều này cũng chuyển đổi các ký tự có độ rộng đầy đủ thành chữ thường.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

LOWER (chuyển đổi thành chữ thường)

Giống như .

FULLW (chuyển đổi nửa chiều rộng thành toàn chiều rộng)

Sự sắp xếp

FULLW (chuỗi)

Đặc tính

Chuyển đổi các ký tự được chỉ định trong từ nửa chiều rộng thành toàn chiều rộng.

Nếu một dấu âm thanh katakana hoặc một dấu âm thanh bán âm thanh katakana có thể được thể hiện dưới dạng một ký tự sau khi kết hợp với katakana ngay trước nó, chúng sẽ được chuyển đổi thành một ký tự toàn chiều rộng.

Các ký tự nửa độ rộng có thể được chuyển đổi được hiển thị trên bảng sau. Các ký tự không phải là ký tự sau sẽ không được chuyển đổi.

  • Ký tự chữ và số (nằm trong khoảng U + 0030 đến U + 007A)
  • Các ký hiệu (nằm trong U + 0020 đến U + 007E, U + FF61 đến U + FF9F)
  • Katakana (U+FF66 to U+FF9D)

Tranh luận

Chỉ định loại VARCHAR.

Nếu bạn chỉ định dữ liệu là loại NUMERIC, loại DATE hoặc loại INTERVAL, dữ liệu trước tiên sẽ được chuyển đổi thành loại VARCHAR, sau đó được chuyển đổi thành các ký tự có độ rộng đầy đủ.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

HALFW (chuyển đổi toàn bộ chiều rộng thành nửa chiều rộng)

Sự sắp xếp

HALFW (chuỗi)

Đặc tính

Chuyển đổi các ký tự được chỉ định trong từ full-width thành half-width.

Các ký tự có độ rộng đầy đủ có thể được chuyển đổi được hiển thị trên bảng sau. Các ký tự không phải là ký tự sau sẽ không được chuyển đổi.

  • Các ký tự chữ và số (nằm trong U + FF10 đến U + FF5A)
  • Các ký hiệu (nằm trong U + FF01 đến U + FF5E, U + 3000 đến U + 3002, U + 300C đến U + 300D, U + 30FB đến U + 30FC và U + 309B đến U + 309C)
  • Katakana (U + 30A1 đến U + 30ED, U + 30EF, U + 30F2 đến U + 30F4, U + 30F7, U + 30FA)

Tranh luận

Chỉ định loại VARCHAR.

Nếu bạn chỉ định dữ liệu là loại NUMERIC, loại DATE hoặc loại INTERVAL, dữ liệu trước tiên sẽ được chuyển đổi thành loại VARCHAR.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

HIRAGANAW (chuyển đổi katakana sang hiragana)

Sự sắp xếp

HIRAGANAW (chuỗi)

Đặc tính

Chuyển đổi các ký tự được chỉ định trong từ katakana nửa chiều rộng hoặc toàn chiều rộng thành hiragana.

Nếu dấu âm thanh katakana nửa độ rộng hoặc dấu thanh bán âm katakana nửa độ rộng có thể được biểu thị dưới dạng một ký tự sau khi kết hợp với katakana ngay trước nó, chúng sẽ được chuyển đổi thành một chữ hiragana toàn độ rộng duy nhất.

Các ký tự katakana có thể được chuyển đổi được hiển thị trên bảng sau. Các ký tự không phải là ký tự sau sẽ không được chuyển đổi.

  • Katakana nửa chiều rộng (U + FF66 đến U + FF9D)
  • Katakana toàn chiều rộng (U + 30A1 đến U + 30F6)

Tranh luận

Chỉ định loại VARCHAR.

Nếu bạn chỉ định dữ liệu là loại NUMERIC, loại DATE hoặc loại INTERVAL, dữ liệu trước tiên sẽ được chuyển đổi thành loại VARCHAR.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

KATAKANAW (chuyển đổi hiragana thành katakana toàn chiều rộng)

Sự sắp xếp

KATAKANAW (chuỗi)

Đặc tính

Chuyển đổi các ký tự được chỉ định trong từ hiragana thành katakana có độ rộng đầy đủ.

Các ký tự hiragana có thể được chuyển đổi được hiển thị trong bảng sau. Các ký tự không phải là ký tự sau sẽ không được chuyển đổi.

  • Hiragana (U + 3041 to U + 3093)

Tranh luận

Chỉ định loại VARCHAR.

Nếu bạn chỉ định dữ liệu là loại NUMERIC, loại DATE hoặc loại INTERVAL, dữ liệu trước tiên sẽ được chuyển đổi thành loại VARCHAR.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

LPAD (đệm các ký tự ngoài cùng bên trái)

Sự sắp xếp

LPAD (chuỗi, độ dài [, padding_string])

Đặc tính

Dán vào bên trái của một chuỗi bằng để chuỗi có độ dài được chỉ định.

Nếu bị bỏ qua, một khoảng trắng nửa chiều rộng sẽ được sử dụng thay thế.

liên quan đến kích thước của chuỗi, không phải số ký tự. Điều này có nghĩa là là số byte của chuỗi được chuyển đổi thành UTF-8.

Trước tiên, hàm LPAD kiểm tra xem độ dài của có nhỏ hơn hoặc bằng hay không.

Nếu độ dài của lớn hơn , thì bên phải của sẽ bị loại bỏ để điều chỉnh độ dài của nó nhỏ hơn hoặc bằng . Tại thời điểm này, nếu byte ở vị trí thứ trên chuỗi là byte đầu tiên của ký tự full-width, thì ký tự full-width đó cũng bị xóa để điều chỉnh độ dài của thành trừ đi 1.

Hàm LPAD đệm bên trái của chuỗi đã điều chỉnh bằng . theo thứ tự, bắt đầu từ ký tự ngoài cùng bên trái của nó, được sử dụng để đệm. Nếu một ký tự có chiều rộng đầy đủ sẽ được áp dụng để đệm khoảng cách nửa chiều rộng, thì ký tự đệm đó sẽ không được chèn. Kết quả là, hàm LPAD sẽ thêm một khoảng trống nửa chiều rộng ở đầu chuỗi, vì chiều dài của chuỗi sau khi đệm sẽ là trừ đi 1.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

RPAD (đệm các ký tự ngoài cùng bên phải)

Sự sắp xếp

RPAD (chuỗi, độ dài [, padding_string])

Đặc tính

Dán vào bên phải một chuỗi bằng để chuỗi có độ dài được chỉ định.

Nếu bị bỏ qua, một khoảng trắng nửa chiều rộng sẽ được sử dụng thay thế.

liên quan đến kích thước của chuỗi, không phải số ký tự. Điều này có nghĩa là là số byte của chuỗi được chuyển đổi thành UTF-8.

Trước tiên, hàm RPAD kiểm tra xem độ dài của có nhỏ hơn hoặc bằng hay không. Nếu độ dài của lớn hơn , thì bên phải của sẽ bị loại bỏ để điều chỉnh độ dài của nó nhỏ hơn hoặc bằng . Tại thời điểm này, nếu byte ở vị trí thứ trên chuỗi là byte đầu tiên của ký tự full-width, thì ký tự full-width đó cũng bị xóa để điều chỉnh độ dài của thành trừ đi 1.

Hàm RPAD đệm bên phải của chuỗi đã điều chỉnh bằng . theo thứ tự, bắt đầu từ ký tự ngoài cùng bên trái của nó, được sử dụng để đệm. Nếu một ký tự có chiều rộng đầy đủ sẽ được áp dụng để đệm khoảng cách nửa chiều rộng, thì ký tự đệm đó sẽ không được chèn. Kết quả là, hàm RPAD sẽ thêm một khoảng trống nửa chiều rộng ở cuối chuỗi, vì chiều dài của chuỗi sau khi đệm sẽ là trừ đi 1.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

LTRIM (xóa các chuỗi được chỉ định nhiều nhất bên trái)

Sự sắp xếp

LTRIM (chuỗi [, set])

Đặc tính

Quét một chuỗi bắt đầu từ bên trái (đầu) sau đó loại bỏ các lần xuất hiện liên tiếp hàng đầu của chuỗi được so khớp với . Khi tìm thấy một ký tự không có trong , quá trình quét sẽ dừng lại và kết quả được trả về.

Giá trị mặc định của là khoảng trắng nửa chiều rộng. Khoảng trắng ở giữa hoặc ở bên phải của chuỗi sẽ không bị xóa.

Hàm này có thể phân biệt giữa ký tự full-width và half-width, và ký tự viết hoa và viết thường.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu bất kỳ đối số nào là giá trị NULL, giá trị NULL được trả về.

Nếu tất cả các ký tự bị loại bỏ, kết quả là một chuỗi rỗng có độ dài thay đổi (độ dài bằng không).

Nếu của đối số là chuỗi rỗng và không phải là giá trị NULL, chuỗi rỗng sẽ được trả về.

Nếu của đối số là chuỗi rỗng và không phải là giá trị NULL, thì được trả về.

Thí dụ

Bất kỳ ví dụ nào sau đây sẽ trả về "a":

CHỌN CHR (97);

4

RTRIM (xóa các chuỗi được chỉ định ngoài cùng bên phải)

Sự sắp xếp

RTRIM (chuỗi [, set])

Đặc tính

Quét một chuỗi bắt đầu từ bên phải (cuối cùng), sau đó xóa các lần xuất hiện liên tiếp hàng đầu của chuỗi được so khớp với . Khi tìm thấy một ký tự không có trong , quá trình quét sẽ dừng lại và kết quả được trả về.

Giá trị mặc định của là khoảng trắng nửa chiều rộng. Khoảng trắng ở giữa hoặc ở bên trái của chuỗi sẽ không bị xóa.

Hàm này có thể phân biệt giữa ký tự full-width và half-width, và ký tự viết hoa và viết thường.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu bất kỳ đối số nào là giá trị NULL, giá trị NULL được trả về.

Nếu tất cả các ký tự bị loại bỏ, kết quả là một chuỗi rỗng có độ dài thay đổi (độ dài bằng không).

Nếu của đối số là chuỗi rỗng và không phải là giá trị NULL, thì một chuỗi rỗng sẽ được trả về.

Nếu của đối số là chuỗi rỗng và không phải là giá trị NULL, thì được trả về.

Thí dụ

Bất kỳ ví dụ nào sau đây sẽ trả về "a":

CHỌN CHR (97);

5

TRIM (xóa các chuỗi được chỉ định)

Sự sắp xếp

TRIM (chuỗi [, set])

Đặc tính

Quét một chuỗi bắt đầu từ trái sang phải (theo chiều dọc), sau đó loại bỏ các lần xuất hiện liên tiếp hàng đầu của chuỗi được so khớp với . Khi tìm thấy một ký tự không có trong , quá trình quét sẽ dừng lại và kết quả được trả về.

Giá trị mặc định của là khoảng trắng nửa chiều rộng. Khoảng trắng ở giữa chuỗi sẽ không bị xóa.

Hàm này có thể phân biệt giữa ký tự full-width và half-width, và ký tự viết hoa và viết thường.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu bất kỳ đối số nào là giá trị NULL, giá trị NULL được trả về.

Nếu tất cả các ký tự bị loại bỏ, kết quả là một chuỗi rỗng có độ dài thay đổi (độ dài bằng không).

Nếu của đối số là chuỗi rỗng và không phải là giá trị NULL, thì một chuỗi rỗng sẽ được trả về.

Nếu của đối số là chuỗi rỗng và không phải là giá trị NULL, thì được trả về.

Thí dụ

Bất kỳ ví dụ nào sau đây sẽ trả về "a":

CHỌN CHR (97);

6

REGEXP_INSTR (truy xuất dữ liệu bằng cách sử dụng biểu thức chính quy)

Sự sắp xếp

REGEXP_INSTR (chuỗi, mẫu [, vị trí [, lần xuất hiện]])

Đặc tính

Lấy mẫu biểu thức chính quy từ ký tự ở vị trí xác định vị trí trong chuỗi ký tự và trả về vị trí tại thời điểm xuất hiện đã chỉ định.

Một tên trường có thể được chỉ định cho mỗi đối số.

Mẫu không được vượt quá 512 ký tự.

Nếu lớn hơn hoặc bằng "1" hoặc không được chỉ định, hàm này sẽ bắt đầu tìm kiếm từ ký tự đầu tiên của . Nếu nhỏ hơn hoặc bằng "-1", hàm này sẽ bắt đầu tìm kiếm từ ký tự cuối cùng của .

Nếu không được chỉ định, hàm này trả về vị trí mà tại đó chuỗi con được tìm thấy lần đầu tiên.

Nếu một tên trường không phải là kiểu VARCHAR được chỉ định cho chuỗi hoặc mẫu, nó sẽ trả về chuỗi ký tự được chuyển đổi thành kiểu VARCHAR.

Nếu tên trường không phải là loại NUMERIC được chỉ định cho vị trí hoặc sự xuất hiện, giá trị số được chuyển đổi thành loại NUMERIC sẽ được trả về.

Ngoài ra, nó sử dụng thư viện RE2 do Google cung cấp và nó tương ứng với biểu thức chính quy của PCRE và Perl.

Lỗi xảy ra trong các trường hợp sau:

  • Khi một giá trị không phải số nguyên được chỉ định cho vị trí
  • Khi một giá trị nhỏ hơn hoặc bằng 0 hoặc một giá trị không phải là số nguyên được chỉ định là sự xuất hiện.

Giá trị trả lại

Vị trí được tính từ đầu được trả về dưới dạng giá trị loại NUMERIC. Có các mục được tính là hai ký tự, chẳng hạn như mã nguồn cấp dữ liệu dòng. Nếu bất kỳ đối số nào là giá trị NULL, giá trị NULL được trả về.

Trong bất kỳ trường hợp nào sau đây, "0" được trả về:

  • Khi không tìm thấy mẫu
  • Khi ký tự trống được chỉ định cho chuỗi hoặc mẫu
  • "0" đã được chỉ định cho .
  • Nếu bạn chỉ định một giá trị vượt quá độ dài của chuỗi cho vị trí hoặc lần xuất hiện
  • Khi biểu thức chính quy không hợp lệ được chỉ định

Thí dụ

Trong ví dụ đầu tiên, nó trả về "5". "5" được trả về cho ví dụ thứ hai, "11" cho ví dụ thứ ba, "5" cho ví dụ thứ tư (vì mã nguồn cấp dòng được tính là hai ký tự).

CHỌN CHR (97);

7

CHỌN CHR (97);

8

CHỌN CHR (97);

9

CHỌN INSTR ('ABCdefGHIABC', 'def');

0

REGEXP_REPLACE (thay thế dữ liệu bằng biểu thức chính quy)

Sự sắp xếp

REGEXP_REPLACE (chuỗi, mẫu [, thay thế])

Đặc tính

Nó tìm kiếm mẫu biểu thức chính quy từ chuỗi ký tự và chuyển đổi nó để thay thế và trả về nó.

Một tên trường có thể được chỉ định cho mỗi đối số. Nếu một tên trường không phải là kiểu VARCHAR được chỉ định làm đối số, nó sẽ trả về chuỗi ký tự được chuyển đổi thành kiểu VARCHAR. Mẫu không được vượt quá 512 ký tự. Nếu bạn chỉ định "\ (number)" để thay thế, bạn có thể thay thế các bộ phận khác trong khi để lại một phần của mẫu bằng cách tham chiếu ngược. Nếu bạn muốn xử lý "\" như một ký tự thay thế, hãy viết là "\\". Nếu thay thế không được chỉ định, tất cả các mẫu sẽ bị xóa.

Ngoài ra, nó sử dụng thư viện RE2 do Google cung cấp và nó tương ứng với biểu thức chính quy của PCRE và Perl.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Nếu mẫu là giá trị NULL hoặc một chuỗi rỗng, nó sẽ trả về chuỗi.

Nếu thay thế bị bỏ qua và thay thế là NULL, tất cả các mẫu sẽ bị xóa.

Thí dụ

Trong ví dụ sau, "02-03-2017" được trả về.

CHỌN INSTR ('ABCdefGHIABC', 'def');

1

MULTI_REPLACE (Thay thế nhiều chuỗi cùng một lúc)

Sự sắp xếp

MULTI_REPLACE (input, search1, Replace1 [, search2, Replace2]…)

Hàm số

Thay thế tất cả các chuỗi phù hợp với tìm kiếm bằng thay thế.

Bạn có thể thay thế nhiều từ cùng một lúc mà không cần lồng các hàm REPLACE.

Tranh luận

đầu vào chỉ định chuỗi ký tự đích.

Để tìm kiếm, hãy chỉ định chuỗi ký tự cần tìm.

Trong thay thế, chỉ định chuỗi ký tự được thay thế.

Nếu bạn chỉ định nhiều hơn một, hãy chỉ định tìm kiếm và thay thế dưới dạng một tập hợp. Vì tìm kiếm và thay thế được thực hiện theo thứ tự của các đối số, nên kết quả sau khi thay thế sẽ được tìm kiếm và thay thế theo thứ tự sau.

Giá trị trả lại

Trả về một chuỗi VARCHAR. Nếu đầu vào đối số là giá trị null, giá trị null được trả về.

Thí dụ

Thay thế nhiều chuỗi ký tự cùng một lúc.

CHỌN INSTR ('ABCdefGHIABC', 'def');

2

Kết quả thực hiện như sau:

MULTI_REPLACE ('tuổi (5);', '(', '_', ');', '_')

Age_5_

REPEAT (lấy một chuỗi ký tự được lặp lại một số lần được chỉ định)

Sự sắp xếp

LẶP LẠI (đầu vào, n)

Hàm số

Lặp lại chuỗi đầu vào n lần.

Tranh luận

đầu vào chỉ định chuỗi ký tự đích.

Đặt số lần lặp lại n dưới dạng số nguyên.

Giá trị trả lại

Trả về một chuỗi VARCHAR. Nếu đầu vào đối số là giá trị null, giá trị null được trả về.

Thí dụ

Trả về một chuỗi là chuỗi được chỉ định được lặp lại n lần.

CHỌN INSTR ('ABCdefGHIABC', 'def');

3

Kết quả thực hiện như sau.

cấp độ

★★★

REVERSE (Chuỗi ký tự ngược)

Sự sắp xếp

REVERSE (đầu vào)

Hàm số

Đảo ngược chuỗi trong đầu vào.

Tranh luận

đầu vào chỉ định chuỗi ký tự đích.

Giá trị trả lại

Trả về một chuỗi VARCHAR. Nếu đầu vào đối số là giá trị null, giá trị null được trả về.

Thí dụ

Đảo ngược chuỗi ký tự được chỉ định & quot; ★ ■ ▲ 3 & quot ;.

CHỌN INSTR ('ABCdefGHIABC', 'def');

4

Kết quả thực hiện như sau.

cấp độ

3▲■★

BẢN DỊCH (thay thế chung bằng ký tự)

Sự sắp xếp

DỊCH (đầu vào, từ, sang)

Hàm số

Thay thế ký tự khớp với ký tự đó ở vị trí tương ứng.

Tranh luận

đầu vào chỉ định chuỗi ký tự đích.

Đối với from, chỉ định chuỗi ký tự được tìm kiếm.

Đối với, chỉ định chuỗi ký tự được thay thế tương ứng với từ.

đến và từ phải là các chuỗi có cùng độ dài.

Giá trị trả lại

Trả về một chuỗi VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Thí dụ

Thay bằng ().

CHỌN INSTR ('ABCdefGHIABC', 'def');

5

Kết quả thực hiện như sau.

TRANSLATE (&

39;age [5]&

39;, &

39;[]&

39;, &

39;()&

39;)

Tuổi (5)

INSERT (Chèn chuỗi)

Sự sắp xếp

CHÈN (nguồn, vị trí, loại bỏ, đích)

Đặc tính

Chèn chuỗi đích bằng cách xóa chuỗi loại bỏ khỏi ký tự vị trí của nguồn đối số.

Tranh luận

Chỉ định các đối số như sau:

  • nguồn Chỉ định chuỗi để chèn dữ liệu.
  • Chức vụ Chỉ định một số nguyên đại diện cho vị trí của chuỗi. Nếu vị trí là 1 hoặc nhiều hơn, tìm kiếm bắt đầu từ đầu nguồn. Nếu có nhiều hơn số lượng ký tự trong nguồn, hãy thêm nó vào cuối. Nếu vị trí là -1 trở xuống, tìm kiếm bắt đầu từ cuối nguồn. Nếu giá trị âm lớn hơn số ký tự trong nguồn, hãy thêm giá trị đó vào đầu. Nếu vị trí là 0, không có chuỗi nào được chèn vì không có vị trí chèn.
  • tẩy Chỉ định số ký tự sẽ bị xóa khỏi điểm chèn. Đối với loại bỏ, hãy chỉ định một số nguyên từ 0 trở lên. Nếu loại bỏ là 0, không có gì bị xóa nhưng được chèn vào. Nếu giá trị loại bỏ lớn hơn số ký tự còn lại tại vị trí chèn, tất cả các chuỗi còn lại sẽ bị xóa.
  • Mục tiêu Chỉ định chuỗi ký tự sẽ được chèn vào.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là giá trị NULL, giá trị NULL được trả về.

ví dụ 1

Chèn chuỗi z vào vị trí thứ hai của chuỗi abcde.

CHỌN INSTR ('ABCdefGHIABC', 'def');

6

Kết quả thực hiện như sau:

INSERT ('abcde', 2, 0, 'z')

azbcde

Ví dụ 2

Xóa hai chuỗi từ vị trí thứ ba của chuỗi abcde và chèn chuỗi z.

CHỌN INSTR ('ABCdefGHIABC', 'def');

7

Kết quả thực hiện như sau:

INSERT ('abcde', 3, 2, 'z')

abze

SPACE (Tạo không gian nửa chiều rộng)

Sự sắp xếp

SPACE (chiều dài)

Đặc tính

Trả về không gian nửa chiều rộng của chiều dài đối số.

Tranh luận

Đối với chiều dài, hãy chỉ định một số nguyên từ 0 đến 65,536, là số ký tự trong khoảng cách nửa chiều rộng.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu đối số là âm hoặc NULL, nó trả về NULL.

Thí dụ

Trả về không gian một byte gồm ba ký tự.

CHỌN INSTR ('ABCdefGHIABC', 'def');

8

SPLIT_PART (Trích xuất các phần được chia theo dấu phân cách)

Sự sắp xếp

SPLIT_PART (str, phân chia, vị trí)

Đặc tính

Tách chuỗi mục tiêu bằng các dấu phân cách và trích xuất các phần cụ thể để trả về.

Tranh luận

Chỉ định các đối số như sau:

  • str Chỉ định chuỗi mục tiêu.
  • tách ra Chỉ định chuỗi làm dấu phân cách.
  • Chức vụ Chỉ định vị trí của phần tử để lấy từ các phần tử được tách dưới dạng số nguyên.

Giá trị trả lại

Kiểu trả về là VARCHAR. Nếu bất kỳ đối số nào là NULL, giá trị NULL được trả về.

Thí dụ

Chia chuỗi mục tiêu với "-" và lấy phần tử thứ hai từ bên trái.

CHỌN INSTR ('ABCdefGHIABC', 'def');

9

Kết quả thực hiện như sau:

SPLIT_PART('0123-456-789', '-', 2)

456

MD5 (Tính giá trị băm của MD5)

Sự sắp xếp

MD5( value )

Đặc tính

Tính giá trị băm theo thuật toán MD5 cho chuỗi giá trị đối số.

Tranh luận

Đối với giá trị, hãy chỉ định giá trị mà bạn muốn tính giá trị băm. Giá trị được chuyển đổi hoàn toàn thành chuỗi.

Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Giá trị trả lại

Trả về giá trị băm của kiểu VARCHAR.

Thí dụ

Trả về giá trị băm của "khoảng" MD5.

CHỌN INSTR ('ABCdefGHIABC', 'ABC', -1);

0

Kết quả thực hiện như sau:

MD5 ('like')

DF5C588826B00952DB2FF6C8829CB086

SHA (Tính giá trị băm của SHA1)

hàm số.

SHA1 (Tính giá trị băm của SHA1)

Sự sắp xếp

SHA1( value )

Đặc tính

Tính giá trị băm của chuỗi trong giá trị đối số bằng cách sử dụng thuật toán SHA1.

Tranh luận

Đối với giá trị, hãy chỉ định giá trị mà bạn muốn tính giá trị băm. Giá trị được chuyển đổi hoàn toàn thành chuỗi.

Nếu đối số là giá trị NULL, giá trị NULL được trả về.

Giá trị trả lại

Trả về giá trị băm của kiểu VARCHAR.

Thí dụ

Trả về giá trị băm của SHA1.

CHỌN INSTR ('ABCdefGHIABC', 'ABC', -1);

1

Kết quả thực hiện như sau:

SHA1 ('A')

EB636BA7C320E00B3749AD404B7ADC7609560DEE

SHA2 (Tính giá trị băm của SHA2)

Sự sắp xếp

SHA2 (giá trị [, bit])

Đặc tính

Tính giá trị băm của chuỗi trong giá trị đối số bằng cách sử dụng thuật toán SHA2.

Tranh luận

Chỉ định các đối số như sau: Nếu bất kỳ đối số nào là giá trị NULL, giá trị NULL được trả về.

  • giá trị Chỉ định giá trị mà bạn muốn tính giá trị băm. Giá trị được chuyển đổi hoàn toàn thành chuỗi.
  • bit Chỉ định một trong các bit (256, 384 hoặc 512) dưới dạng số. Nếu bỏ qua, 256 được sử dụng.

Giá trị trả lại

Trả về giá trị băm của kiểu VARCHAR.

ví dụ 1

Trả về giá trị băm của SHA2.

CHỌN INSTR ('ABCdefGHIABC', 'ABC', -1);

2

Kết quả thực hiện như sau:

SHA2 ('A')

486DA9B15CFFBDEA0966687981C51C0281C446681FDC22DAD0B8FDCA83E99F09

Ví dụ 2

Để tính giá trị băm 512 bit, hãy chỉ định 512 trong bit đối số.

CHỌN INSTR ('ABCdefGHIABC', 'ABC', -1);

3

Kết quả thực hiện như sau:

SHA2('like', 512)

51E5A27B99217B37741153B7D1C572CD4B8F719A83A300C5FEB3A14746664167D2 610F245740EAEE4037DBFB2ECD8CB009AA9A41D4EA100B37B62107A7690B5F