MySQL-এ কোনো বছরের (যেমন ২০২০) প্রতিটি অঙ্ক আলাদা করে যোগফল বের করা যায় গাণিতিক অপারেশন দিয়ে।
পদ্ধতি
বছর ২০২০ হলে: ২ + ০ + ২ + ০ = ৪
কোয়েরি
SET @year_column_value = 2020;
SELECT
FLOOR(@year_column_value / 1000)
+ FLOOR(@year_column_value % 1000 / 100)
+ FLOOR(@year_column_value % 100 / 10)
+ FLOOR(@year_column_value % 10) AS SUM_OF_DIGITS_OF_YEAR;
আউটপুট
+-----------------------+ | SUM_OF_DIGITS_OF_YEAR | +-----------------------+ | 4 | +-----------------------+
ব্যাখ্যা:
FLOOR(@year / 1000)-> হাজার পার্থক্য (২)FLOOR(@year % 1000 / 100)-> শতক পার্থক্য (০)FLOOR(@year % 100 / 10)-> দশক পার্থক্য (২)FLOOR(@year % 10)-> একক পার্থক্য (০)
বিকল্প পদ্ধতি (MySQL 8.0+): স্ট্রিং কনভারশন দিয়ে সহজে:
SELECT SUM(CAST(SUBSTRING('2020', n, 1) AS UNSIGNED))
FROM (SELECT 1 n UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) nums;
এটি যেকোনো দৈর্ঘ্যের সংখ্যার জন্য কাজ করে।