วันนี้ฉันพบปัญหา: ฉันต้องการแปลงข้อความ "xxx.gif" ในช่องข้อมูลในตารางข้อมูลเป็น "xxx.jpg" ฉันไม่ทราบชื่อเฉพาะเจาะจง ฉันรู้เพียงว่ามันลงท้ายด้วย gif เท่านั้น
แก้ไขปัญหาแล้ว: อัปเดตชุดสัตว์เลี้ยง petPhoto=substring(petPhoto,1,datalength(petPhoto)-3)+'jpg'
โดยที่ petPhoto เช่น '%.gif'
โปรดใส่ใจกับอักขระที่ตรงกัน: "%" จับคู่อักขระใดๆ ที่มีความยาวเท่าใดก็ได้, "_" จับคู่อักขระเดี่ยวใดๆ, [A] จับคู่อะไรก็ได้ที่ขึ้นต้นด้วย A, [^A] จับคู่อะไรก็ได้ยกเว้นที่ขึ้นต้นด้วย A การรู้ฟังก์ชันเป็นกุญแจสำคัญในการแก้ปัญหา (ข้อมูลต่อไปนี้ทำซ้ำจากอินเทอร์เน็ต):
1. ฟังก์ชันทางสถิติ avg, count, max, min, sum
2. ฟังก์ชันทางคณิตศาสตร์
Ceiling(n) ส่งกลับจำนวนเต็มที่น้อยที่สุดที่มากกว่าหรือเท่ากับ n
floor(n) ส่งคืนจำนวนเต็มที่ใหญ่ที่สุดที่น้อยกว่าหรือเท่ากับ n
รอบ(m,n), รอบ, n คือจำนวนตำแหน่งทศนิยมที่จะคงไว้
abs(n) ค่าสัมบูรณ์
เครื่องหมาย (n) เมื่อ n>0 ส่งกลับ 1, n=0 ส่งกลับ 0, n<0 ส่งกลับ -1
ปี่(), 3.1415....
rand(), rand(n) ส่งกลับตัวเลขสุ่มระหว่าง 0-1
3. ฟังก์ชั่นสตริง
ascii() แปลงอักขระเป็นโค้ด ASCII, ASCII('abc') = 97
char() แปลงรหัส ASCII เป็นอักขระ
การแปลงตัวพิมพ์เล็ก () ตัวพิมพ์ใหญ่ ()
str(a,b,c) แปลงตัวเลขเป็นสตริง a คือสตริงที่จะแปลง b คือความยาวหลังการแปลง และ c คือจำนวนตำแหน่งทศนิยม STR(123.456,8,2) = 123.46
ltrim(), rtrim() ลบช่องว่าง, ltrim ลบช่องว่างทางด้านซ้าย และ rtrim ลบช่องว่างทางด้านขวา
ซ้าย(n), ขวา(n), สตริงย่อย (str, เริ่มต้น, ความยาว) ตัดสตริง
charindex (สตริงย่อย, สตริงพาเรนต์) ค้นหาว่ามีอยู่หรือไม่ ส่งกลับตำแหน่งของการเกิดขึ้นครั้งแรก โดยไม่ส่งคืน 0
patindex('%pattern%', expression) มีฟังก์ชันเหมือนกับด้านบน แต่ใช้ไวด์การ์ด
ทำซ้ำ ('char', rep_time) ทำซ้ำสตริง
ย้อนกลับ (ถ่าน) ย้อนกลับสตริง
แทนที่ (str, strold, strnew) แทนที่สตริง
space(n) สร้างบรรทัดว่าง n บรรทัด
stuff(), SELECT STUFF('abcdef', 2, 3, 'ijklmn') ='aijklmnef', 2 คือตำแหน่งเริ่มต้น, 3 คือความยาวของอักขระที่จะลบออกจากสตริงเดิม และ ijlmn คือสตริงที่จะ จะถูกแทรก
3. ฟังก์ชั่นการแปลงประเภท:
แคสต์, แคสต์ (นิพจน์เป็น data_type) ตัวอย่าง:
เลือก SUBSTRING (ชื่อ, 1, 30) AS ชื่อ, ytd_sales จากชื่อ WHERE CAST (ytd_sales AS char (20)) LIKE '3%'
แปลง (data_type, นิพจน์)
4.ฟังก์ชั่นวันที่
วัน(), เดือน(), ปี()
dateadd(datepart, number, date), datapart ระบุส่วนที่จะเพิ่ม, number รู้ว่าต้องเพิ่มเท่าไหร่ และ date ระบุว่าใครจะเพิ่ม ค่าในส่วนของวันที่ได้แก่ ปี ไตรมาส เดือน วันของปี วัน สัปดาห์ ชั่วโมง นาที วินาที เช่น วันที่ของวันพรุ่งนี้ เพิ่ม(วัน,1, getdate())
datediff(datepart,date1,date2) datapart เหมือนกับข้างบน ผลลัพธ์ของฟังก์ชันทั้งหมดคือ date2 - date1
datename(datepart, date) รับส่วนนั้นและส่งคืนสตริง
datepart(datepart, date) มีส่วนร่วมและส่งกลับจำนวนเต็ม
getdate() เวลาปัจจุบัน
5. ฟังก์ชั่นระบบ
col_length('ชื่อตาราง','ชื่อคอลัมน์')
col_name, SELECT COL_NAME(OBJECT_ID('พนักงาน'), 1) = รหัสพนักงาน
ความยาวข้อมูล ตัวอย่าง: datalenght('abc') =3, datalength(pub_name) --ชื่อคอลัมน์