في SQL Server 2005، ما هو الفرق بين Len () وطول البيانات ()؟
-
05-09-2019 - |
سؤال
ما هو الفرق بين LEN () وطول البيانات () في SQL Server 2005؟
المحلول
سيعود Datalen عدد البايتات التي يتم استخدامها لتخزين القيمة:
http://msdn.microsoft.com/en-us/library/ms173486(sql.90).aspx.
سوف Len إرجاع عدد الأحرف في سلسلة. نظرا لأن السلسلة يمكن أن تستخدم أحرفا واحدة أو مزدوجة البايت، فإن هذا يختلف من DataLength، حيث ستحصل دائما على 1، بغض النظر عن مدى طول حرف واحد هو:
نصائح أخرى
يؤدي طول البيانات إلى إرجاع طول السلسلة في بايت، بما في ذلك المساحات الزائدة. Len إرجاع الطول في الشخصيات، باستثناء المساحات الزائدة. علي سبيل المثال،
حدد LEN ("سلسلة")، Len ("String")، وضواء DataLeng ("سلسلة")، وطول DataLeng ("سلسلة")، Len (N'String ")، Len (N'Sstring")، طول DataL (N'String) ')، طول DataL (N'String')
سوف تعود 6، 6، 6، 9، 6، 6، 12، 18
Len () سوف تقليم (إزالة المساحات الزائدة) من البيانات.
لا تعمل وظيفة DataLengt ()
أمثلة: حدد LEN ("اختبار") - سيعود هذا 4
حدد طول Datal ("اختبار") - سيعود هذا 5
علاوة على ذلك (مجمع من الإجابات الأخرى الرائعة والمفيدة):
يؤدي طول البيانات إلى إرجاع طول السلسلة في بايت، بما في ذلك المساحات الزائدةhttp://msdn.microsoft.com/en-us/library/ms173486(sql.90).aspx.
Len إرجاع الطول في الشخصيات، باستثناء المساحات الزائدةhttp://msdn.microsoft.com/en-us/library/ms190329.aspx.
نظرا لأن السلاسل قد تتكون من واحد أو 2 بايت (Unicode)، فإن نتائج استخدام إما ستختلف حسب كل من نوع البيانات من السلسلة وما إذا كانت هناك مسافات زائدة في السلسلة
علي سبيل المثال،
حدد LEN ("سلسلة")، Len ("String")، وضواء DataLeng ("سلسلة")، وطول DataLeng ("سلسلة")، Len (N'String ")، Len (N'Sstring")، طول DataL (N'String) ')، طول DataL (N'String')
سيعود 6، 6، 6، 7، 6، 6، 12، 14
فيما يتعلق بأسلوتات DataLength () إرجاع عدد البايتات ولين () إرجاع قيمة عدد صحيح لعدد الأحرف.