یک پرسوجو بنویسید که با استفاده از تابع STRCMP مقایسه کند مقدار ستون name در جدول users نسبت به رشته 'Ali' برابر، بزرگتر یا کوچکتر است و نتیجه مقایسه را همراه با نام نشان دهد.
21.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:51 0.0
در MySQL از تابع STRCMP(string1, string2) استفاده کنید که مقدار -1، 0 یا 1 بازمیگرداند (بهترتیب زمانی که string1 کمتر، برابر یا بزرگتر از string2 باشد). کافی است در SELECT ستون name و خروجی STRCMP(name, 'Ali') را انتخاب کنید؛ برای فیلتر کردن یا مرتبسازی نیز میتوانید از مقدار بازگشتی استفاده کنید، مثلاً WHERE STRCMP(name,'Ali') = 0 برای برابری. نکته: رفتار حساسیت به حروف به کولیشن جدول/ستون بستگی دارد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای نمایش نام و نتیجه مقایسه میتوانید SELECT name, STRCMP(name,'Ali') AS cmp از جدول users اجرا کنید که مقادیر -1/0/1 را برمیگرداند. توجه کنید که حساسیت به حروف به کولیشن ستون یا جدول بستگی دارد؛ در صورت نیاز از COLLATE یا توابع LOWER/UPPER استفاده کنید. همچنین STRCMP اگر یکی از آرگومانها NULL باشد مقدار NULL برمیگرداند، پس برای فیلتر یا مرتبسازی باید NULLها را مدیریت کنید. برای فیلتر برابری میتوانید WHERE STRCMP(name,'Ali') = 0 یا بهصورت مستقیم WHERE name = 'Ali' با COLLATE مناسب بهکار ببرید.
گزارش