+1 امتیاز
قبل در برنامه نویسی توسط (7.2هزار امتیاز)

در پایگاه داده اوراکل یک قابلیت پارامتر با نام nls_comp وجود دارد.

در صورتی که این مقدار یر روی nls_comp =linguistic تنظیم شود، رفتار مقایسه بدور از spell صورت می گیرد. یعنی ä , a یک مقدار برای جستجو خواهند داشت.

اما متاسفانه این پارامتر برای زبان فارسی کار نمیکند.

 

ALTER SESSION SET nls_sort=persian;

ALTER SESSION SET nls_comp =linguistic;   

select first_name from customer 
where first_name like '%ك'; -- with result

select first_name from customer 
where first_name like '%ک';--with no result

چگونه می توانم خروجی یکسانی برای هر دو نویسه کاف و یا داشته باشم؟

1 پاسخ

+1 امتیاز
قبل توسط (7.2هزار امتیاز)
 
بهترین پاسخ

با نصب Oracle Client یک برنامه با نام Locale Builder در پوشه BIN نیز نصب می شود ( با بچ فایل lbuilder.bat اجرا می شود).

با اجرای این برنامه و ایجاد یک Charachter Set جدید ، می توانید تعریف کنید که کدام کاراکتر ها در زبان شما معنی یکسان داند تا در سورت و جستجو اعمال شوند.

پس از ذخیره کردن یک فایل nlt خواهید داشت که ید آن را کامپایل کنید و در کنار پایگاه داده اعمال کنید. سپس با دستوراتی که ذکر کردید می توانید از locale خودتان استفاده کنید.

http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch13custlocale.htm

سوالات مشابه

0 امتیاز
1 پاسخ 339 بازدید
+1 امتیاز
1 پاسخ 807 بازدید
+1 امتیاز
1 پاسخ 399 بازدید
0 امتیاز
1 پاسخ 447 بازدید
+1 امتیاز
1 پاسخ 968 بازدید
+1 امتیاز
1 پاسخ 730 بازدید
...