SQLite ฟังก์ชันสำหรับจัดการสตริง: REPLACE, SUBSTR, TRIM, LENGTH

⚡ สรุปอย่างชาญฉลาด

SQLite ฟังก์ชันสตริง เช่น LENGTH, SUBSTR, REPLACE และ TRIM จะจัดการข้อความโดยตรงภายในแบบสอบถาม ในขณะที่ตัวช่วยตัวเลข เช่น ABS และ ROUND รวมถึงตัวช่วย TYPEOF และเวอร์ชัน จะขยายขอบเขตการทำงานของฟังก์ชันสตริง SQLite ห้องสมุดดำเนินการ

  • 📏 ความยาว: ฟังก์ชัน LENGTH จะนับจำนวนอักขระในสตริง และจะคืนค่า null เมื่อค่าที่ส่งเข้ามาเป็น null
  • 🔠 การแปลงกรณี: คำสั่ง UPPER และ LOWER จะเปลี่ยนสตริงให้เป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก โดยไม่เปลี่ยนแปลงตัวเลขและค่าว่าง
  • 🇧🇷 สตริงย่อย: SUBSTR extracคำสั่ง REPLACE จะเลือกอักขระ ts จากตำแหน่งที่เลือก ในขณะที่คำสั่ง REPLACE จะสลับทุกๆ การปรากฏของสตริงย่อยหนึ่งกับอีกสตริงย่อยหนึ่ง
  • 🧮 ตัวช่วยคำนวณตัวเลข: ABS จะส่งคืนค่าโดยไม่รวมเครื่องหมาย และ ROUND จะย่อเลขทศนิยมให้เหลือจำนวนหลักตามที่คุณต้องการ
  • 🔍 การตรวจสอบ: TYPEOF จะรายงานชนิดข้อมูลของนิพจน์ และ LAST_INSERT_ROWID จะส่งคืน ID ของแถวที่แทรกครั้งล่าสุด
  • 🤖 ความช่วยเหลือจากเอไอ: GitHub Copilot และเครื่องมือ AI แปลงข้อความเป็น SQL โครงสร้างพื้นฐาน SQLite ฟังก์ชันสอบถามข้อมูล ในขณะที่ฟังก์ชัน C แบบกำหนดเองจะขยายไลบรารีที่มีอยู่แล้ว

SQLite ฟังก์ชันสตริง

วิธีการตั้งค่า SQLite และเรียกใช้คิวรีฟังก์ชันสตริง

SQLite โดยค่าเริ่มต้นจะมีรายการฟังก์ชันในตัวอยู่ภายใน SQLite ห้องสมุด. คุณยังสามารถเพิ่มฟังก์ชันแบบกำหนดเองอื่นๆ โดยใช้ภาษา C เพื่อขยายฟังก์ชันหลักได้

โปรดทราบว่า สำหรับตัวอย่างทั้งหมดต่อไปนี้ คุณต้องเรียกใช้ไฟล์ sqlite3.exe และเปิดการเชื่อมต่อกับฐานข้อมูลตัวอย่างดังนี้:

ขั้นตอน 1) ในขั้นตอนนี้ ให้เปิด My Computer แล้วไปยังไดเร็กทอรีต่อไปนี้ “C:\sqlite” จากนั้นเปิดไฟล์ “sqlite3.exe”:

SQLite ฟังก์ชันสตริง

ขั้นตอน 2) เปิดฐานข้อมูล “TutorialsSampleDB.db” โดยใช้คำสั่งต่อไปนี้:

SQLite ฟังก์ชันสตริง

ตอนนี้คุณพร้อมที่จะเรียกใช้แล้ว การสอบถาม และลองทดสอบคำถามต่างๆ ที่ใช้ในหัวข้อต่อไปนี้

ค้นหา LENGTH ของสตริงใน SQLite

หากต้องการค้นหาความยาวของสตริงให้ใช้ LENGTH(X) โดยที่ X คือค่าสตริง ถ้า X เป็นค่า Null ฟังก์ชันความยาวจะส่งกลับค่า Null

คุณยังสามารถใช้ฟังก์ชันความยาวกับค่าตัวเลขเพื่อรับความยาวของค่าตัวเลขได้

ตัวอย่าง:

ในตัวอย่างต่อไปนี้ เราจะลองใช้รูปแบบฟังก์ชัน LENGTH ด้วยค่าดังต่อไปนี้:

SELECT LENGTH('A string'), LENGTH(NULL), LENGTH(20), LENGTH(20.5);

สิ่งนี้จะทำให้คุณ:

ค้นหา LENGTH ของสตริงใน SQLite

ผลลัพธ์เป็นดังนี้:

  • LENGTH('A string') คืนค่า 8 ซึ่งเป็นความยาวของสตริง “A string”
  • LENGTH(NULL) ส่งคืนค่าว่าง
  • LENGTH(20) ส่งคืน 2 เนื่องจาก 20 มีความยาว 2 ความยาว
  • LENGTH(20.5) คืนค่า 4; จุดทศนิยมลอยตัว “.” นับเป็นอักขระ ดังนั้นคุณจะมีอักขระ 3 ตัว – อักขระ XNUMX ตัวซึ่งเป็นความยาวของตัวเลข บวกอักขระอีกหนึ่งตัวสำหรับจุดทศนิยมลอยตัว “.”

การเปลี่ยนเคสด้วยฟังก์ชัน UPPER และฟังก์ชัน LOWER

UPPER(X) จะส่งกลับสตริง x เดียวกัน แต่จะแสดงอักขระสตริงทั้งหมดในอักขระตัวพิมพ์ใหญ่

LOWER(X) จะส่งกลับสตริง x เดียวกัน แต่จะแสดงอักขระสตริงทั้งหมดเป็นอักขระขนาดเล็ก

UPPER และ LOWER จะส่งกลับค่า Null หากคุณส่งค่า Null ไปให้

หากคุณส่งค่าตัวเลขไปที่ UPPER หรือ LOWER ทั้งสองค่าจะส่งกลับค่าตัวเลขที่ตรงกันทุกประการ

ตัวอย่าง:

SELECT UPPER('a string'), LOWER('A STRING'), UPPER(20), LOWER(20), UPPER(NULL), LOWER(NULL);

สิ่งนี้จะทำให้คุณ:

ตัวอย่างฟังก์ชัน UPPER และ LOWER ใน SQLite

ผลลัพธ์เป็นดังนี้:

  • UPPER('a string') จะส่งคืนสตริง “a string” ในรูปแบบตัวพิมพ์ใหญ่ “A STRING“
  • LOWER('A STRING') จะส่งคืนสตริง “A STRING” ในรูปแบบตัวพิมพ์เล็ก “a string”
  • UPPER(20), LOWER(20) คืนค่าตัวเลขเดียวกัน เนื่องจากไม่มีผลใดๆ ต่อตัวเลข
  • UPPER(NULL), LOWER(NULL) คืนค่า null เนื่องจากเราส่งค่า null ไปให้

SQLite ฟังก์ชันย่อย

ฟังก์ชัน SUBSTR จะส่งคืนสตริงจำนวนหนึ่ง โดยเริ่มต้นจากตำแหน่งที่ระบุ คุณสามารถส่งตัวถูกดำเนินการได้สามตัว เช่น “SUBSTR(X,Y,Z)” ดังต่อไปนี้:

  • X คือสตริงลิเทอรัลหรือคอลัมน์สตริงที่จะแยกวิเคราะห์ คุณสามารถส่งค่าตามตัวอักษร (ค่าคงที่) หรือชื่อคอลัมน์ได้ และในกรณีนี้ ค่าจะถูกอ่านจากค่าของคอลัมน์
  • Y คือตำแหน่งเริ่มต้นในการเริ่มต้นtract สตริงที่เริ่มต้นจากสิ่งนั้น
  • Z คือจำนวนอักขระที่จะแยกวิเคราะห์โดยเริ่มจากตำแหน่งเฉพาะ Y หมายเลขนี้เป็นทางเลือก คุณสามารถละเว้นได้ และในกรณีนี้ SQLite วิล เอ็กซ์tract สตริงที่เริ่มต้นจากตำแหน่ง Y บอกถึงจุดสิ้นสุดของสตริง

ตัวอย่าง:

ในการสอบถามต่อไปนี้ เราจะใช้ฟังก์ชัน SUBSTR เพื่อรับอักขระ 4 ตัวโดยเริ่มจากอักขระตัวที่สองจากชื่อของนักเรียน:

SELECT StudentName, SUBSTR(StudentName, 2, 4), SUBSTR(StudentName, 2)
FROM Students;

สิ่งนี้จะทำให้คุณ:

ตัวอย่างฟังก์ชัน SUBSTR ใน SQLite

  • SUBSTR(StudentName, 2, 4) จะทำการตัดสตริง "StudentName" โดยเริ่มจากอักขระตัวที่สอง และส่งคืนอักขระอีก 4 ตัวถัดไป
  • อย่างไรก็ตาม ในฟังก์ชัน SUBSTR(StudentName, 2) เราไม่ได้ระบุจำนวนอักขระที่จะส่งคืน จึงทำให้เกิดข้อผิดพลาดขึ้น SQLite ส่งคืนอักขระที่เหลือทั้งหมดใน "ชื่อนักเรียน" โดยเริ่มจากตำแหน่งที่สอง

การเปลี่ยนส่วนของ String ด้วย SQLite แทนที่ฟังก์ชัน

REPLACE ใช้เพื่อแทนที่แต่ละสตริงที่เกิดขึ้นกับสตริงอื่นด้วยสตริง

REPLACE(X, Y, Z) – X คือสตริงอินพุตตามตัวอักษรหรือคอลัมน์ Y คือสตริงที่จะแทนที่ด้วยสตริง Z โปรดทราบว่าสตริงนั้นจะแทนที่สตริง Y ใดๆ ด้วย Z ไม่ใช่แค่สตริงเดียว

ตัวอย่าง:

ในคำสั่งค้นหาต่อไปนี้ เราจะแทนที่ข้อความ “xx” ทั้งหมดด้วยข้อความ “SQLite"

SELECT REPLACE('xx is very lightweight, xx is easy to learn', 'xx', 'SQLite');

สิ่งนี้จะทำให้คุณ

ตัวอย่างฟังก์ชัน REPLACE ใน SQLite

  • ฟังก์ชันแทนที่ได้แทนที่สตริง “xx” ทั้งหมดด้วยสตริง “SQLite"
  • ดังนั้นผลลัพธ์ที่ได้จะเป็น “SQLite มีน้ำหนักเบามาก SQLite ง่ายต่อการเรียนรู้”

ตัดแต่งช่องว่างด้วย SQLite ฟังก์ชัน TRIM

TRIM ลบช่องว่างออกจากจุดเริ่มต้นหรือจุดสิ้นสุดของสตริง จะไม่ลบช่องว่างใดๆ ตรงกลางสตริง เฉพาะจากจุดเริ่มต้นหรือจุดสิ้นสุดเท่านั้น

ตัวอย่าง:

ในการสอบถามต่อไปนี้ เราจะใช้ฟังก์ชัน TRIM เพื่อลบช่องว่างจากจุดเริ่มต้นและจุดสิ้นสุดของสตริง

โปรดทราบว่าตัวดำเนินการเรียงต่อกัน “||” จะใช้เพื่อเพิ่ม “;” พิเศษลงท้ายสตริง เพื่อแสดงให้คุณเห็นว่าช่องว่างในหน้าต่างสีดำถูกลบออกไปแล้ว

SELECT TRIM('      SQLite is easy to learn        ') || ';';

สิ่งนี้จะทำให้คุณ:

ตัวอย่างฟังก์ชัน TRIM ใน SQLite

สังเกตว่าช่องว่างถูกลบออกจากจุดเริ่มต้นและจุดสิ้นสุดของสตริง แทนที่ด้วย ' ; 'ในตอนท้าย.

การอ่านค่าสัมบูรณ์ด้วย SQLite ฟังก์ชัน ABS

ฟังก์ชัน ABS คืนค่าสัมบูรณ์ของค่าตัวเลข ค่าสัมบูรณ์คือค่าตัวเลขที่ไม่มีเครื่องหมายบวกหรือลบ ABS(X) คืนค่าที่ขึ้นอยู่กับค่าของ X ดังต่อไปนี้:

  • ค่าสัมบูรณ์ของ X ถ้า X เป็นค่าตัวเลข
  • ค่า NULL ถ้า X เป็นค่า null
  • ค่า "0.0" หาก X เป็นสตริง

ตัวอย่าง:

ในแบบสอบถามต่อไปนี้ เราจะพยายามรับค่าสัมบูรณ์ของสตริง ตัวเลข และค่า null โดยใช้ฟังก์ชัน ABS:

SELECT ABS(-2), ABS(+2), ABS('a string'), ABS(null);

สิ่งนี้จะทำให้คุณ:

ตัวอย่างฟังก์ชัน ABS ใน SQLite

ผลลัพธ์เป็นดังนี้:

  • ABS(-2), ABS(+2) คืนค่า 2 เนื่องจาก 2 เป็นค่าสัมบูรณ์สำหรับทั้ง "-2" และ "+2"
  • ABS('a string') ส่งคืนค่า "0.0" เนื่องจากคุณส่งค่าสตริงไม่ใช่ค่าตัวเลข
  • ABS(null) ส่งกลับค่า null เนื่องจากคุณส่งผ่านค่า null

การปัดเศษค่าด้วยฟังก์ชัน ROUND ใน SQLite

ตัวเลขทศนิยมคือตัวเลขที่มีจุดลอยตัว “.” อยู่ เช่น “20.5”, “8.65” ส่วนที่อยู่ทางซ้ายของจุดลอยตัวเรียกว่าส่วนจำนวนเต็ม และส่วนที่อยู่ทางขวาของจุดลอยตัวเรียกว่าส่วนทศนิยม

ตัวเลขจำนวนเต็มคือตัวเลขที่ไม่มีจุดลอยตัว ตัวอย่างเช่น "20", "8"

ROUND(X) จะแปลงค่าทศนิยมหรือคอลัมน์ X ให้เป็นจำนวนเต็มเท่านั้น ส่วนจำนวนเต็มที่เป็นส่วนที่อยู่ทางซ้ายของจุดทศนิยมจะถูกส่งคืน และตัวเลขทั้งหมดที่อยู่ทางขวาของจุดทศนิยมจะถูกลบออก

ตัวอย่าง:

ในแบบสอบถามต่อไปนี้ เราจะลองใช้ฟังก์ชัน ROUND ด้วยตัวเลือกต่างๆ:

SELECT ROUND(12.4354354), ROUND(12.4354354, 2), ROUND(NULL), ROUND('a string');

สิ่งนี้จะทำให้คุณ:

ตัวอย่างฟังก์ชัน ROUND ใน SQLite

ผลลัพธ์เป็นดังนี้:

  • ROUND(12.4354354) – ส่งกลับค่า “12” เนื่องจากคุณไม่ได้ระบุจำนวนหลัก ดังนั้น, SQLite ลบส่วนทศนิยมทั้งหมดออก
  • ROUND(12.4354354, 2) – ส่งกลับค่า “12.44” เนื่องจากคุณระบุตัวเลขเพียง 2 หลักที่จะปัดเศษ ซึ่งเป็นตัวเลขสองหลักจากด้านขวาของจุดทศนิยม
  • ROUND(NULL) – ส่งกลับค่า null เนื่องจากคุณส่งค่า null ไปให้
  • ROUND('a string') – ส่งกลับค่า “0.0” เนื่องจากคุณส่งค่าสตริงไปให้

การค้นหาชนิดข้อมูลของนิพจน์ด้วยฟังก์ชัน TYPEOF

หากคุณต้องการค้นหาประเภทของคอลัมน์หรือค่าตัวอักษร คุณสามารถใช้ฟังก์ชัน TYPEOF เพื่อดำเนินการดังกล่าวได้

ฟังก์ชัน TYPEOF(X) จากชื่อจะส่งกลับชนิดข้อมูลของนิพจน์ X โดยจะส่งกลับค่าสตริงที่ระบุประเภทข้อมูลของ X โดยจะส่งกลับค่าตามประเภทข้อมูล ไม่ว่าจะเป็นค่า “NULL” จริง ข้อความ จำนวนเต็ม … ฯลฯ

ตัวอย่าง:

ในแบบสอบถามต่อไปนี้ เราจะลองใช้ฟังก์ชัน TYPEOF กับค่าตัวอักษรประเภทต่างๆ:

SELECT TYPEOF(null), TYPEOF(12), TYPEOF(12.5), TYPEOF('a string');

สิ่งนี้จะทำให้คุณ:

ตัวอย่างฟังก์ชัน TYPEOF ใน SQLite

ผลลัพธ์ที่ได้กลับมาเป็นดังต่อไปนี้:

  • TYPEOF(null) – ส่งกลับค่า null เนื่องจากคุณส่งค่า null ไปให้
  • TYPEOF(12) – ส่งกลับจำนวนเต็มเนื่องจาก 12 เป็นตัวเลขจำนวนเต็ม
  • TYPEOF(12.5) – ส่งคืนค่า REAL เนื่องจาก 12.5 เป็นจำนวนจริง
  • TYPEOF('a string') – ส่งกลับข้อความเป็น “a string” เป็นข้อความ

ค้นหาบันทึกที่แทรกล่าสุดด้วย SQLite LAST_INSERT_ROWID

SQLite กำหนดคีย์จำนวนเต็ม (Id) ให้กับแถวทั้งหมดในตารางทั้งหมด หมายเลขนี้ใช้เพื่อระบุแถวเหล่านี้โดยไม่ซ้ำกัน

เมื่อคุณแทรกแถวใหม่บนโต๊ะ SQLite จะกำหนดค่าที่ไม่ซ้ำกันให้กับแถว

หากตารางมีคีย์หลักที่ประกาศในคอลัมน์เดียวเท่านั้น และคอลัมน์นั้นเป็นประเภทข้อมูล INTEGER ค่าของคอลัมน์นี้จะถูกใช้เป็นแถว

ฟังก์ชัน LAST_INSERT_ROWID() จะส่งคืน ROW_ID ของแถวสุดท้ายที่แทรกในตารางใดๆ ในฐานข้อมูล โปรดทราบว่าฟังก์ชันนี้จะไม่รับตัวดำเนินการใดๆ

ตัวอย่าง:

ในตัวอย่างต่อไปนี้เราจะรันฟังก์ชัน LAST_INSERT_ROWID() ดังต่อไปนี้:

SELECT LAST_INSERT_ROWID();

สิ่งนี้จะทำให้คุณ:

ตัวอย่างของฟังก์ชัน LAST_INSERT_ROWID ใน SQLite

LAST_INSERT_ROWID() ส่งคืนค่า 0 เนื่องจากไม่มีแถวแทรกลงในตารางใดๆ ในการเชื่อมต่อฐานข้อมูลปัจจุบัน

ตอนนี้ เรามาแทรกนักเรียนใหม่และรันฟังก์ชัน LAST_INSERT_ROWID() อีกครั้งหลังจากคำสั่ง insert เช่นนี้:

INSERT INTO Students VALUES(11, 'guru', 1, '1998-10-12');
SELECT LAST_INSERT_ROWID();

สิ่งนี้จะทำให้คุณ:

ตัวอย่างของฟังก์ชัน LAST_INSERT_ROWID ใน SQLite

หลังจากที่เราแทรกนักเรียนใหม่ด้วยรหัส 11 แล้ว LAST_INSERT_ROWID() จะส่งคืนรหัสแถวที่แทรกล่าสุดซึ่งก็คือ 11

รับเวอร์ชันของคุณ SQLite ห้องสมุด

เพื่อให้ได้เวอร์ชั่นของคุณ SQLite ในไลบรารี คุณต้องเรียกใช้ฟังก์ชัน SQLITE_VERSION()

ตัวอย่าง:

มาดูกันว่าเป็นรุ่นอะไร SQLite เรากำลังใช้โดยการรันคำสั่งต่อไปนี้:

SELECT SQLITE_VERSION();

สิ่งนี้จะทำให้คุณ:

ตัวอย่างวิธีการรับเวอร์ชันของคุณ SQLite ห้องสมุด

SQLITE_VERSION() ส่งคืน 3.9.2 ซึ่งเป็นเวอร์ชันของ SQLite เรากำลังใช้อยู่

การสร้างฟังก์ชันที่ผู้ใช้กำหนดและฟังก์ชันรวมที่ผู้ใช้กำหนด

สำหรับผู้ใช้บางราย SQLite ฟังก์ชันหลักมีจำกัด พวกเขาอาจจำเป็นต้องเพิ่มฟังก์ชันแบบกำหนดเองตามความต้องการแบบกำหนดเอง

SQLite ไม่รองรับการสร้างฟังก์ชันที่ผู้ใช้กำหนด ไม่เหมือนกับระบบการจัดการฐานข้อมูลอื่นๆ คุณไม่สามารถสร้างฟังก์ชันที่ผู้ใช้กำหนดได้ SQLite โดยตรง.

อย่างไรก็ตาม คุณสามารถสร้างฟังก์ชันโดยใช้ภาษาโปรแกรมต่างๆ ได้ เช่น C#ซี, พีเอชพี หรือ C++ และแนบฟังก์ชันนั้นเข้ากับแกนกลาง SQLite ทำหน้าที่ใน SQLite โดยใช้ไลบรารีนั้นเอง โดยใช้ฟังก์ชัน “sqlite3_create_function” จากนั้นคุณสามารถนำฟังก์ชันเหล่านั้นไปใช้ซ้ำในฐานข้อมูลของคุณได้

ตัวอย่าง:

ในตัวอย่างต่อไปนี้ เราจะสร้างฟังก์ชันที่ผู้ใช้กำหนดเองโดยใช้ภาษาการเขียนโปรแกรม C# และเพิ่มฟังก์ชันนั้นเข้าไป SQLite ฟังก์ชั่น:

[SQLiteFunction(Name = "DoubleValue", Arguments = 1, FuncType = FunctionType.Scalar)]
public class DoubleValue: SQLiteFunction
{
    public override object Invoke(object[] args)
    {
        return args[0] * 2;
    }
}

ข้อมูลโค้ดนี้เขียนอยู่ในไฟล์ ภาษาการเขียนโปรแกรม C#- มันสร้างฟังก์ชัน C# โดยใช้รหัส C#

ชื่อฟังก์ชันจะเป็น “Doubleฟังก์ชัน "Value" รับพารามิเตอร์หนึ่งตัวและส่งคืนค่าของพารามิเตอร์นั้นคูณด้วย 2

โปรดทราบว่า C# จะเพิ่มฟังก์ชันนี้โดยอัตโนมัติ SQLite- สิ่งที่คุณต้องมีคือคอมไพล์และรันโค้ดนี้ จากนั้น C# จะเพิ่มฟังก์ชันนั้นที่มีชื่อเดียวกันลงในรายการ SQLite ฟังก์ชั่น. จากนั้นคุณสามารถใช้ฟังก์ชันนี้ได้ใน SQLite.

เช่นเดียวกับการใช้ภาษาโปรแกรมเช่น C#, C, PHP หรือ C++คุณยังสามารถสร้างฟังก์ชันรวมที่ผู้ใช้กำหนดได้ ซึ่งใช้เพื่อขยายฟังก์ชันการรวมเข้า SQLite และใช้มันเพื่อสร้างฟังก์ชันการรวมแบบกำหนดเอง

คำถามที่พบบ่อย

ฟังก์ชันสเกลาร์ เช่น LENGTH, UPPER และ ROUND จะทำงานหนึ่งครั้งต่อแถวและส่งคืนค่าเดียวต่อฟังก์ชัน ในขณะที่ฟังก์ชันรวม เช่น COUNT, SUM และ GROUP_CONCAT จะประมวลผลหลายแถวพร้อมกันและส่งคืนผลลัพธ์รวมเดียวสำหรับกลุ่มทั้งหมด

SQLite ฟังก์ชัน `concat()` ใช้สำหรับเชื่อมสตริงด้วยตัวดำเนินการ `||` เช่น `'a' || 'b'` เวอร์ชันใหม่กว่ายังเพิ่มฟังก์ชันแบบสเกลาร์ `concat()` และ `concat_ws()` เข้ามาด้วย ในขณะที่ฟังก์ชัน `group_concat()` จะรวมค่าจากหลายแถวเข้าเป็นสตริงเดียวที่คั่นด้วยตัวคั่น

ใช่. SQLite มีฟังก์ชัน DATE, TIME, DATETIME, JULIANDAY และ STRFTIME ฟังก์ชันเหล่านี้จะจัดรูปแบบและคำนวณวันที่จากข้อความ, เวลาแบบ Unix หรือค่าพิเศษ 'now' เนื่องจาก SQLite จัดเก็บวันที่ในรูปแบบข้อความ จำนวนจริง หรือจำนวนเต็ม แทนที่จะใช้ประเภทข้อมูลเฉพาะ

โดยค่าเริ่มต้น คำสั่ง UPPER และ LOWER จะเปลี่ยนเฉพาะตัวอักษร ASCII จาก A ถึง Z เท่านั้น ตัวอักษรที่มีเครื่องหมายเน้นเสียงหรือตัวอักษรที่ไม่ใช่ภาษาละตินจะไม่เปลี่ยนแปลง การแปลงตัวพิมพ์ใหญ่-เล็กแบบ Unicode อย่างสมบูรณ์นั้น จำเป็นต้องมีการคอมไพล์ส่วนขยาย ICU เข้าไปด้วย SQLiteซึ่งโดยปกติแล้วจะมีอยู่ในระบบส่วนใหญ่

ใช้ฟังก์ชัน INSTR(X, Y) ซึ่งจะส่งคืนตำแหน่งแรกของสตริงย่อย Y ภายในสตริง X โดยนับจาก 1 ฟังก์ชันจะส่งคืนค่า 0 หากไม่มีสตริงย่อยนั้น ใช้ฟังก์ชัน INSTR ร่วมกับ SUBSTR เพื่อยกตัวอย่างtracข้อความ t หลังอักขระที่ตรงกัน

ใช้ IFNULL(X, fallback) หรือ COALESCE(X, fallback) ครอบนิพจน์เพื่อแทนที่ด้วยค่าเริ่มต้นเมื่อฟังก์ชันส่งค่ากลับเป็น null COALESCE รับอาร์กิวเมนต์ได้หลายตัวและส่งคืนค่าแรกที่ไม่เป็น null ซึ่งมีประโยชน์เมื่อมีหลายคอลัมน์ว่างเปล่า

ใช่. นักบิน GitHub ฟังก์ชันนี้จะแนะนำการเรียกใช้ฟังก์ชัน LENGTH, SUBSTR, REPLACE และ ROUND จากความคิดเห็นหรือชื่อตาราง และร่างโค้ดฟังก์ชันที่ผู้ใช้กำหนดเองในภาษา C หรือ C# ควรทดสอบผลลัพธ์กับสคีมาของคุณเสมอ เพราะอาจสร้างชื่อคอลัมน์ขึ้นมาเองได้

ใช่แล้ว ระบบ AI แปลงข้อความธรรมดาเป็นคำสั่ง SQL เพื่อแปลงคำขอในรูปแบบข้อความธรรมดาให้เป็นคำสั่ง SQL SQLite คำสั่งค้นหาที่ใช้ฟังก์ชันสตริง เช่น TRIM และ REPLACE ช่วยเพิ่มความเร็วในการประมวลผลต้นแบบpingอย่างไรก็ตาม คุณควรตรวจสอบ SQL ที่สร้างขึ้นกับข้อมูลของคุณอีกครั้ง เพราะบางครั้งโมเดลแมชชีนเลิร์นนิงอาจสร้างตรรกะที่ไม่ถูกต้อง

สรุปโพสต์นี้ด้วย: