امیر مددی
تماس با من
پروفایل من
نویسنده (های) وبلاگ امیر مددی
آرشیو وبلاگ
      بازار آی تی (این وبلاگ آینه ای از وبلاگ اصلی من در بلاگر (itbazaar.blogspot.com) در زمینه برنامه نویسی تحت وب است که بدلیل مشکلات فیل‌ترینگ در پرشین بلاگ نیز کپی شده است.)
خطای Collation هنگام مقایسه دو فیلد متفاوت در MSSQL نویسنده: امیر مددی - ۱۳٩۱/٧/۱۳
داشتم کوئری زیر را اجرا می کردم که نام پروژه های استفاده نشده را در جدول دوم بدست بیاورم:  
select ProjectCode from table1
where ProjectCode not  in(select  ProjectCode  from table2)

که با خطای زیر مواجه شدم : 
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.

اشکال اینجاست که فیلد ProjectCode در جدول اول از Collate یا نوع انطباق SQL_Latin1_General_CP1_CI_AS  و در جدول دوم از Collate  یا نوع انطباق  Latin1_General_CI_AS  است.

Collate  یا Collation چبست ؟ 
در SQL برای ذخیره رشته ها از روشهای متفاوتی استفاده می شود تا برای ایندکس و جستجوی آنها به کارایی بهتری رسید. به این روشها Collate می گویند . شما حتی اگر یک فیلد را با نوع مثلا nvcarchar ذخیره کرده باشید ولی با Collate متفاوت ، نمی توانید آنها را بدون تبدیل کردن مقایسه کنید. 
برای مقایسه فیلدهای با Collate متفاوت از تبدیل زیر استفاده کنید: 

select  FILEDNAME collate COLLATENAME from TABEL

مثال گفته شده در اول این مقاله به صورت زیر قابل اجراست :
select ProjectCode from table1
where ProjectCode not  in
(select  ProjectCode collate SQL_Latin1_General_CP1_CI_AS from table2)

مقاله کاملی در این باره همراه با مثال در آدرس زیر می توانید بخوانید : 




  نظرات ()
مطالب اخیر خطای Collation هنگام مقایسه دو فیلد متفاوت در MSSQL دهها قطعه کد کاربردی بسیار مفید در سایت css-tricks چگونه در یک فرم MVC مانع حملات از نوع CSRF شویم؟ آموزش MVC - قسمت نهم - WebGrid در 3 MVC ویژگی Name در عناصر Html هنوز مهم است. چگونه دکمه like را به سایت یا وبلاگ خود اضافه کنیم؟ افزودنیهای مرورگر کروم متد ()on. در JQuery 1.7 مشاهده صفحات طراحی شده در چند مرورگر بخش هفتم سری مقالات آموزش MVC (فارسی)
کلمات کلیدی وبلاگ mvc (۳) برنامه نویسی وب (۳) برنامه نویسی (٢) c# (٢) جاوااسکریپت (٢) html (۱) طراحی وب (۱) ajax (۱) css (۱) csrf (۱) mssql (۱) jquery (۱) لایک (۱) آی تی بازار (۱) mvc (۱) آموزش ++c در pluralsight (۱) ویرایشگر متنی (۱) جستجوی جدوال تحت وب با yui (۱) window resizer plugin (۱) آموزش jquery (۱) ابزار چارت (۱) highcharts (۱) collation (۱) جامعه برنامه نویسان افغانستان (۱) wovs default browser switcher (۱) افزودنیهای کرورگر کروم (۱) webgrid (۱) هک در mvc (۱) css-tricks (۱) collate (۱)
دوستان من مقالات آموزشی من MVC وبلاگ فنی من سیاره وردپرس فارسی .NET Tips (وحید نصیری) سایت آموزشی سی شارپ مهرداد کیانیان افشار محبی آرش آقاجانی مجتبی صحرایی خانه برنامه نویسان افغانستان مصطفی دیندار مقالات آموزشی برنامه نویسی رحمت رضایی ( ToString ) اخبار فناوری اطلاعات طراح قالب