কম্পিউটার টিউটোরিয়াল

MySQL-এ VARCHAR কলামে সংখ্যাসূচক মান থেকে MAX বের করা (CAST)

MySQL-এ VARCHAR কলামে সংরক্ষিত সংখ্যাসূচক স্ট্রিং থেকে সর্বোচ্চ মান বের করতে CAST(... AS UNSIGNED) দিয়ে নাম্বারিক কনভার্সন করুন, তারপর MAX() ফাংশন প্রয়োগ করুন।

সমস্যা: স্ট্রিং হিসেবে MAX

SELECT MAX(value) FROM varchar_table;  -- '999999' > '1235667' (লেক্সিকোগ্রাফিক্যালি)

সমাধান: CAST + MAX

CREATE TABLE find_max_varchar (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    value VARCHAR(200)
);

INSERT INTO find_max_varchar (value) VALUES 
('200'), ('1000'), ('899474'), ('39474'), ('4958');

ক্যোয়ারি

SELECT MAX(CAST(value AS UNSIGNED)) AS max_numeric_value
FROM find_max_varchar;

ফলাফল

+-------------------+
| max_numeric_value |
+-------------------+
| 899474            |
+-------------------+

অন্যান্য এগ리게শন

SELECT 
    MIN(CAST(value AS UNSIGNED)) AS min_val,
    MAX(CAST(value AS UNSIGNED)) AS max_val,
    AVG(CAST(value AS UNSIGNED)) AS avg_val,
    SUM(CAST(value AS UNSIGNED)) AS sum_val
FROM find_max_varchar;

WHERE-এ CAST (ফিল্টারিং)

SELECT * FROM find_max_varchar
WHERE CAST(value AS UNSIGNED) > 50000;

পারফরম্যান্স: জেনারেটেড কলাম + ইনডেক্স (MySQL 5.7+)

ALTER TABLE find_max_varchar
ADD COLUMN value_num INT GENERATED ALWAYS AS (CAST(value AS UNSIGNED)) STORED,
ADD INDEX idx_value_num (value_num);

-- এখন দ্রুত ক্যোয়ারি
SELECT MAX(value_num) FROM find_max_varchar;
SELECT * FROM find_max_varchar WHERE value_num > 50000;

দ্রষ্টব্য

  • UNSIGNED ব্যবহার করুন নন-নেগেটিভ সংখ্যার জন্য (বড় রেঞ্জ)
  • SIGNED ব্যবহার করুন নেগেটিভ সংখ্যা থাকতে পারলে
  • DECIMAL ব্যবহার করুন দশমিক সংখ্যার জন্য
  • খালি স্ট্রিং '' কাস্ট করলে 0 হয় — ফিল্টার করুন: WHERE value != '' AND CAST(...)

MySQL 8.0.17+ : CAST আউটপুট টাইপ

SELECT CAST('123' AS UNSIGNED INTEGER);  -- স্পেসিফিক টাইপ
SELECT CAST('123.45' AS DECIMAL(10,2));
  1. MySQL-এ GROUP BY HAVING দিয়ে দুটি নির্দিষ্ট ID-র একই মানবाला রেকর্ড খুঁজে বের করা

  2. MySQL কোয়ারি দিয়ে চতুর্থ সর্বোচ্চ মান বের করার পদ্ধতি

  3. MySQL MAX() এগ্রিগেট ফাংশন ব্যবহার করে কলামের সর্বোচ্চ মান বের করা

  4. MySQL-এ স্ট্রিং ফিল্ডের সংখ্যাসূচক অক্ষর দিয়ে সারি গোষ্ঠীকরণ করা