كيف يمكنني تحديد ترتيب قاعدة البيانات في SQL 2005؟

StackOverflow https://stackoverflow.com/questions/113883

  •  02-07-2019
  •  | 
  •  

سؤال

كيف يمكنك تحديد ترتيب قاعدة البيانات في SQL 2005، على سبيل المثال، إذا كنت بحاجة إلى إجراء بحث/استبدال غير حساس لحالة الأحرف؟

هل كانت مفيدة؟

المحلول 3

استخدم SQL التالي لتحديد ترتيب قاعدة البيانات:

SELECT DATABASEPROPERTYEX('{database name}', 'Collation') SQLCollation;

نصائح أخرى

تذكر أن الأعمدة الفردية يمكنها تجاوز ترتيب قاعدة البيانات:

SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS

حدد قاعدة البيانات وقم بتشغيل الأمر التالي.

sp_helpsort

إذا كنت تريد إجراء بحث غير حساس لحالة الأحرف ولا يمكنك الاعتماد على ترتيب قاعدة البيانات، فيمكنك دائمًا طلب ذلك على وجه التحديد للاستعلام الذي يهمك.على سبيل المثال:

SELECT TOP 1 FName, *
FROM People
WHERE FName LIKE '%mich%' COLLATE Latin1_General_CI_AI

عادةً ما أواجه مشكلة معاكسة، حيث أريد حساسية حالة الأحرف ولكن لا أمتلكها في ترتيب قاعدة البيانات، لذلك أجد نفسي أستخدم ترتيب Latin1_general_BIN كثيرًا في استعلاماتي.إذا كنت لا تعرف بالفعل، يمكنك القيام بما يلي:

SELECT 
FROM ::fn_helpcollations()

للحصول على قائمة بالمجموعات المتاحة وأوصاف الغرض منها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top