واجهت مشكلة اليوم: أريد تحويل النص "xxx.gif" الموجود في حقل في جدول البيانات إلى "xxx.jpg" ولا أعرف اسمه المحدد، أعرف فقط أنه ينتهي بـ gif.
تم حل المشكلة: تحديث مجموعة الحيوانات الأليفة petPhoto=substring(petPhoto,1,datalength(petPhoto)-3)+'jpg'
حيث الحيوانات الأليفة مثل '%.gif'
انتبه إلى الأحرف المطابقة: "%" يطابق أي حرف بأي طول، "_" يطابق أي حرف منفرد، [A] يطابق أي شيء يبدأ بـ A، [^A] يطابق أي شيء باستثناء ما يبدأ بـ A. معرفة الوظائف هي مفتاح حل المشكلات (ما يلي مستنسخ من الإنترنت):
1. الوظائف الإحصائية avg، count، max، min، sum
2. الوظائف الرياضية
يُرجع السقف (n) أصغر عدد صحيح أكبر من أو يساوي n
Floor(n)، تُرجع أكبر عدد صحيح أقل من أو يساوي n
round(m,n), round, n هو عدد المنازل العشرية التي يجب الاحتفاظ بها
القيمة المطلقة (ن)
علامة (ن)، عندما ن > 0، ترجع 1، ن = 0، ترجع 0، ن <0، ترجع -1
بي ()، 3.1415 ....
rand ()، rand (n)، ترجع رقمًا عشوائيًا بين 0-1
3. وظيفة السلسلة
ascii()، تحويل الأحرف إلى رمز ASCII، ASCII('abc') = 97
char()، تحويل رمز ASCII إلى حرف
منخفض () ، تحويل الحالة العليا ().
str(a,b,c) تحول الأرقام إلى سلاسل. a، هي السلسلة المراد تحويلها. b هو الطول بعد التحويل، وc هو عدد المنازل العشرية. شارع(123.456,8,2) = 123.46
ltrim()، rtrim() يزيل المسافات، ltrim يزيل المسافات على اليسار، وrtrim يزيل المسافات على اليمين.
يسار (ن)، يمين (ن)، سلسلة فرعية (شارع، بداية، طول) سلسلة اعتراض
Charindex (سلسلة فرعية، سلسلة أصل)، ابحث عن ما إذا كان موجودًا أم لا. إرجاع موضع التواجد الأول، دون إرجاع 0
لدى patindex('%pattern%', Expressions) نفس الوظيفة المذكورة أعلاه، ولكنها تستخدم أحرف البدل
تكرار ('char'، rep_time)، كرر السلسلة
عكس (شار)، عكس السلسلة
استبدال (str، strold، strnew) استبدال السلسلة
مسافة (ن) تولد سطرًا فارغًا
stuff(), SELECT STUFF('abcdef', 2, 3, 'ijklmn') ='aijklmnef'، 2 هو موضع البداية، 3 هو طول الأحرف المراد حذفها من السلسلة الأصلية، وijlmn هي السلسلة المراد حذفها يتم إدراجها.
3. نوع وظيفة التحويل:
يلقي، يلقي (التعبير كنوع البيانات)، مثال:
حدد SUBSTRING(title, 1, 30) كعنوان، ytd_sales من العناوين التي يتم إرسالها إليها (ytd_sales AS char(20)) LIKE '3%'
تحويل (نوع_البيانات، التعبير)
4. وظيفة التاريخ
اليوم () والشهر () والسنة ()
dateadd(datepart, number, date)، يحدد datapart الجزء الذي سيتم إضافته، ويعرف الرقم مقدار إضافته، ويحدد التاريخ من الذي يجب إضافته. تتضمن قيم جزء التاريخ السنة، الربع، الشهر، يوم السنة، اليوم، الأسبوع، الساعة، الدقيقة، الثانية، مثل تاريخ الغدadd(day,1, getdate())
datediff(datepart,date1,date2) datapart هو نفسه المذكور أعلاه. نتيجة الوظيفة بأكملها هي date2 - date1
datename(datepart, date) يأخذ هذا الجزء ويعيد سلسلة.
datepart(datepart, date) يأخذ جزءًا ويعيد عددًا صحيحًا.
getdate() الوقت الحالي
5. وظيفة النظام
col_length('tablename','colname')
col_name، SELECT COL_NAME(OBJECT_ID('الموظفين')، 1) = معرف الموظف
طول البيانات، مثال: datalenght('abc') =3، datalength(pub_name) --اسم العمود