এসকিউএল সার্ভার 2005 এ এসকিউএল কোয়েরি ব্যবহার করে একটি স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর করবেন কীভাবে?
এসকিউএল সার্ভার 2005 এ এসকিউএল কোয়েরি ব্যবহার করে একটি স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর করবেন কীভাবে?
উত্তর:
আপনি কাস্ট বা কনভার্ট ব্যবহার করতে পারেন :
SELECT CAST(MyVarcharCol AS INT) FROM Table
SELECT CONVERT(INT, MyVarcharCol) FROM Table
select CASE WHEN ISNUMERIC('x') = 1 THEN CAST('x' AS INT) ELSE 0 END
IsNumeric()
কিছু বিকৃত ফলাফল আনতে পারে। এটি "-।" স্ট্রিংয়ের জন্য সত্য ফিরিয়ে দেবে, আপনি যখন এটি একটি সংখ্যায় কাস্ট করার চেষ্টা করবেন তখনও ত্রুটি ঘটবে।
এছাড়াও সচেতন থাকুন যে সংখ্যার স্ট্রিং থেকে আইএনটিতে রূপান্তর '56.72'
করার সময় আপনি কোনও এসকিউএল ত্রুটির বিরুদ্ধে আসতে পারেন।
Conversion failed when converting the varchar value '56.72' to data type int.
এটি কাছাকাছি পেতে নিম্নলিখিত হিসাবে দুটি রূপান্তর করুন:
STRING -> NUMERIC -> INT
অথবা
SELECT CAST(CAST (MyVarcharCol AS NUMERIC(19,4)) AS INT)
টেবিলএ থেকে টেবিলবিতে ডেটা অনুলিপি করার সময়, রূপান্তরটি অন্তর্নিহিত হয়, সুতরাং আপনার দ্বিতীয় রূপান্তরটির প্রয়োজন নেই (যদি আপনি নিকটে থাকা আইএনটিতে খুশি হন):
INSERT INTO TableB (MyIntCol)
SELECT CAST(MyVarcharCol AS NUMERIC(19,4)) as [MyIntCol]
FROM TableA
এসকিউএল সার্ভার ২০১২ দিয়ে শুরু করে, আপনি TRY_PARSE বা TRY_CONVERT ব্যবহার করতে পারেন ।
SELECT TRY_PARSE(MyVarcharCol as int)
SELECT TRY_CONVERT(int, MyVarcharCol)
এটি চেষ্টা করে দেখুন, এটি এথেনায় আমার জন্য কাজ করেছে:
cast(MyVarcharCol as integer)