PDA

View Full Version : Sql CaseSensitive



delphi77
سه شنبه 03 آذر 1383, 18:22 عصر
درود بر همه شما جویندگان دانش
از توجه شما نسبت به این موضوع سپاس گزارم

چگونه با دستورات Sql می توان حشاش به متن نبودن را اعمال کرد?
(where user = 'amir'...) یعنی تمام رکوردهایی کهفیلد User آنها برابر Amir,amir,AMIR,.. باشد را نمایش دهد.
------------------------------------------------------------------------------------------------
من تاج نمی خواهم من تخت نمی خواهم
در خدمتت افتادن بر روی زمین خواهم

Mohsen_4194
سه شنبه 03 آذر 1383, 22:26 عصر
WHERE UPPER(Name) = 'AMIR'

MiRHaDi
چهارشنبه 04 آذر 1383, 22:37 عصر
سلام
این سوالو یک جا همین الآن دیدم :)
عزیزم حساس به متن نیست ! به جا مساوی باید Like بذاری همین !
بای

AminSobati
پنج شنبه 05 آذر 1383, 20:34 عصر
دوست عزیزم،
حساس بودن SQL Server به حروف کوچک یا بزرگ، در موقع نصب تعیین میشه. البته بعد از نصب هم میتونین Collation دیتابیس یا فیلد رو تغییر بدین. زمانی که SQL Server حساس باشه، Like هم تاثیری نداره و a با A تفاوت داره. حدس من اینه که شما SQL Server رو Case Sensitive نصب کردین.

delphi77
یک شنبه 29 آذر 1383, 02:11 صبح
درود بر همه شما جویندگان دانش
از توجه شما نسبت به این موضوع سپاس گزارم

اگر ممکن است توضیح بیشتری ارائه بفرمایید
------------------------------------------------------------------------------------------------
من تاج نمی خواهم من تخت نمی خواهم
در خدمتت افتادن بر روی زمین خواهم

AminSobati
پنج شنبه 03 دی 1383, 23:31 عصر
دوست عزیزم،
Collation دو تاثیر مهم داره: یکی بر روی نحوه Sort اطلاعات و دیگه روی نحوه مقایسه کاراکترها.
مثلا یک Collation میتونه باعث بشه a با A یکسان ارزیابی بشن و Collation دیگه باعث میشه فرضا حرف C قبل از B از نظر ترتیب قرار بگیره.
اگر در موقع نصب SQL Server، اشتباها Collation نامربوطی رو انتخاب کردین، میتونین موقع ساختن دیتابیس، Collation دیگه ای انتخاب کنین یا حتی بعد از ساخته شدن دیتابیس هم در یک جدول میتونین Collation های مختلف روی فیلدها داشته باشین..

delphi77
سه شنبه 27 بهمن 1383, 14:51 عصر
:گیج:

AminSobati
سه شنبه 27 بهمن 1383, 23:43 عصر
کجا به توضیح بیشتری نیاز داره...بفرمایید تا عرض کنم

delphi77
چهارشنبه 28 بهمن 1383, 08:53 صبح
درود بر همه شما جویندگان دانش
از توجه شما نسبت به این موضوع سپاس گزارم
من نمی خواهم مجبور به تغییر در تنظیمات SQL Server بشوم .
------------------------------------------------------------------------------------------------
من تاج نمی خواهم من تخت نمی خواهم
در خدمتت افتادن بر روی زمین خواهم

AminSobati
چهارشنبه 28 بهمن 1383, 10:17 صبح
دوست عزیزم،
نیازی به تغییر در کل SQL Server نیست. میتونین فقط Collation فیلد رو عوض کنین.

delphi77
چهارشنبه 28 بهمن 1383, 13:39 عصر
:موفق: :تشویق:
با سپاس فراوان

AminSobati
چهارشنبه 28 بهمن 1383, 21:30 عصر
موفق باشین :)

delphi77
دوشنبه 17 اسفند 1383, 09:26 صبح
حساس بودن SQL Server به حروف کوچک یا بزرگ، در موقع نصب تعیین میشه. البته بعد از نصب هم میتونین Collation دیتابیس یا فیلد رو تغییر بدین. زمانی که SQL Server حساس باشه، Like هم تاثیری نداره و a با A تفاوت داره. حدس من اینه که شما SQL Server رو Case Sensitive نصب کردین.
چطور بعد از نصب قابلیت حساس به متن بودن sql server را بردارم :گیج:

AminSobati
دوشنبه 24 اسفند 1383, 12:49 عصر
BOL > Installing SQL Server > Collation Options for International Support > Changing Collation Settings After Installing
از ALTER DATABASE هم میتونین استفاده کنین به شرط اینکه فیلدها به یک Collation خاص وابسته نباشند