ฟังก์ชันสำหรับตำแหน่ง

ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

Ana Voicu

Data Engineer

ฟังก์ชันตำแหน่ง

  • LEN()
  • CHARINDEX()
  • PATINDEX()
ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

LEN()

นิยาม

  • คืนค่าจำนวนอักขระของสตริงที่กำหนด

ไวยากรณ์

LEN(character_expression)

ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

ตัวอย่าง LEN() - พารามิเตอร์แบบค่าคงที่

SELECT LEN('Do you know the length of this sentence?') AS length
|length|
|------|
|40    |
ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

ตัวอย่าง LEN() - พารามิเตอร์แบบคอลัมน์ตาราง

SELECT DISTINCT TOP 5 
    bean_origin, 
    LEN(bean_origin) AS length
FROM ratings;
|bean_origin             |length|
|------------------------|------|
|Toscano Black           |13    |
|Trinite                 |7     |
|Ocumare- Puerto Cabello |23    |
|Maracaibo- El Rosario   |21    |
|Madagascar              |10    |
ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

CHARINDEX()

นิยาม

  • ค้นหา character expression ในสตริงที่กำหนด
  • คืนค่าตำแหน่งเริ่มต้นที่พบ

ไวยากรณ์

CHARINDEX (expression_to_find, expression_to_search [, start_location])

ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

ตัวอย่าง CHARINDEX()

SELECT 
 CHARINDEX('chocolate', 'White chocolate is not real chocolate'),
 CHARINDEX('chocolate', 'White chocolate is not real chocolate',10),
 CHARINDEX('chocolates', 'White chocolate is not real chocolate');
|position beginning|position in string|position of non-existing exp|
|------------------|------------------|----------------------------|
|7                 |29                |0                           |
ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

PATINDEX()

นิยาม

  • คล้ายกับ CHARINDEX()

  • คืนค่าตำแหน่งเริ่มต้นของรูปแบบ (pattern) ใน expression

ไวยากรณ์

PATINDEX ('%pattern%', expression, [location ])

ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

อักขระ Wildcard

Wildcard คำอธิบาย
% จับคู่สตริงใดก็ได้ ยาวเท่าใดก็ได้ (รวมถึงความยาวเป็นศูนย์)
_ จับคู่อักขระเดี่ยว 1 ตัว
[ ] จับคู่อักขระใดก็ได้ที่อยู่ใน [ ] (เช่น [abc] จะจับคู่กับ a, b, หรือ c)
ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

ตัวอย่าง PATINDEX()

SELECT 
  PATINDEX('%chocolate%', 'White chocolate is not real chocolate') AS position1,
  PATINDEX('%ch_c%', 'White chocolate is not real chocolate') AS position2;

|position1|position2|
|---------|---------|
|7        |7        |
ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

มาฝึกกันเถอะ!

ฟังก์ชันสำหรับจัดการข้อมูลใน SQL Server

Preparing Video For Download...