আইএনটিকে ভ্রচার এসকিউএলে রূপান্তর করুন


341

আমি সাইবাজ ব্যবহার করছি এবং আমি একটি নির্বাচন করছি যা আমাকে "ইফটাইপ" নামক একটি কলাম দেয়, তবে এর ধরণটি ইনট এবং আমার বার্চারে রূপান্তর করা দরকার। আমি যখন কনভার্ট ফাংশন ছাড়াই সিলেক্ট করার চেষ্টা করি তখন আমি এই ত্রুটিটি পাই:

ত্রুটি কোড 257, এসকিউএল রাজ্য 37000: ডেটাটাইপ 'VARCHAR' থেকে 'INT' তে অন্তর্নিহিত রূপান্তর অনুমোদিত নয়। এই কোয়েরিটি চালানোর জন্য কনভার্ট ফাংশনটি ব্যবহার করুন।

ফাংশনটি কীভাবে বাস্তবায়ন করা যায় তা আমি জানি না CONVERT। যে কেউ আমাকে দয়া করে সাহায্য করতে পারেন ?


5
আমার মনে হয় আপনার এটির
লাজোস Veres

উত্তর:


593

রূপান্তর ফাংশন ব্যবহার করুন।

SELECT CONVERT(varchar(10), field_name) FROM table_name

8
ত্রুটি মতে, এটা VARCHARকরার জন্য INTকিন্তু আমি তাঁর প্রশ্ন, না ত্রুটির বার্তা উত্তর করছি।
টোবারথ

2
ধন্যবাদ। তবে এখন আমি অন্য একটি ত্রুটি পেয়েছি। যখন আমি এই ধরণের নির্বাচন করার চেষ্টা করি: নির্বাচন করুন নির্বাচন করুন (বর্ণচর (10), ক্ষেত্রের নাম) থেকে সারণী_নাম। বা এমনকি সাধারণের মতো: SELECT ক্ষেত্রের নাম FROM টেবিলের নাম। দুটোই সঠিক. আমি জানি না কেন। তবে আমি যখন নির্বাচনের শেষে একটি "যেখানে" চেষ্টা করি, রূপান্তরটি ব্যবহার করি বা না ব্যবহার করি, তখন আমি একই ত্রুটি পাই: ডেটাটাইপ 'ভর্চার' থেকে 'আইএনটি' তে অন্তর্নিহিত রূপান্তর অনুমোদিত নয়। এই কোয়েরিটি চালানোর জন্য কনভার্ট ফাংশনটি ব্যবহার করুন
মুরিলো

3
@ মুরিলো কারণ ত্রুটিটি আপনি যা ভাবেন সেগুলি থেকে নয়। ত্রুটিটি আপনাকে বলে যে আপনার কোডটি একটি varcharযেখানে intপ্রয়োজন সেখানে ব্যবহার করার চেষ্টা করছে । আপনাকে সহায়তা করার জন্য আপনার সত্যিকারের এসকিউএল বিবৃতিটি লিখতে হবে।
টোবারথ

14
@ তোবারথ, এটির মূল্য কী, আমি স্রেফ গুগলিং করে এখানে পৌঁছেছি। এসও এর মূল অংশের প্রায় কোনও প্রশ্নের উত্তর, এমনকি মৌলিক প্রশ্নেরও পাওয়া যাচ্ছে।
কাইলমিট

6
আমি মনে করি varchar(11)সংখ্যাটি যদি বড় নেতিবাচক সংখ্যা হয় তবে এটি হওয়া উচিত ।
25:34

100

STRফাংশনটি ব্যবহার করুন :

SELECT STR(field_name) FROM table_name

যুক্তি

float_expression

দশমিক বিন্দু সহ আনুমানিক সংখ্যাসূচক (ভাসা) ডাটা টাইপের একটি অভিব্যক্তি।

লম্বা

মোট দৈর্ঘ্য। এর মধ্যে দশমিক বিন্দু, চিহ্ন, অঙ্ক এবং স্পেস অন্তর্ভুক্ত। ডিফল্ট 10।

দশমিক

দশমিক পয়েন্টের ডানদিকে স্থানগুলির সংখ্যা। দশমিক 16 এর চেয়ে কম বা সমান হতে হবে dec

উত্স: https://msdn.microsoft.com/en-us/library/ms189527.aspx


3
STR()সঠিক উত্তর হওয়া উচিত, বিকল্পগুলির তুলনায় এটি সহজ এবং ত্রুটি-ঝুঁকির কম।
HerrimanCoder

7
কিছু অদ্ভুত কারণে, এটি আমার পক্ষে কাজ করে নি কারণ এটি পাঠ্যের সামনে একটি ট্যাব যুক্ত করছিল, কেন তা জানা নেই। নির্বাচিত সমাধান যদিও কাজ করেছে।
ম্যাকিউ

3
রূপান্তরিত সংখ্যার সামনের অংশে
স্ট্রেড প্যাডগুলি

13
এলটিআরআইএম (এসটিআর ()) ব্যবহার করুন
অ্যাশিলন

2
এসআরটি () আপনার স্ট্রিংতে রূপান্তরিত করে চলকটির সামনের অংশে সাদা স্থান সরবরাহ করে। দশমিক ভেরিয়েবলগুলি রূপান্তর করা ভাল চয়েস হতে পারে তবে ইন্টের জন্য নয়।
Ebleme


3

আসলে আপনার এসআরটি বা রূপান্তর ব্যবহার করার দরকার নেই। শুধু 'xxx' নির্বাচন করুন + এলটিআরআইএম (1) কাজ করে। সম্ভবত, এলটিআরআইএম হুডের নীচে কনভার্ট বা এসআরটি ব্যবহার করে।

এলটিআরআইএম দৈর্ঘ্য প্রদানের প্রয়োজনীয়তাও সরিয়ে দেয় এবং সাধারণত ডিফল্ট 10 স্ট্রিং রূপান্তরটির জন্য যথেষ্ট ভাল।

SELECT LTRIM(ColumnName) FROM TableName

0

CONVERT(DATA_TYPE , Your_Column)এসকিউএল-এ কনভার্ট পদ্ধতির সিনট্যাক্স। এই রূপান্তর ফাংশন থেকে আমরা কলামের ডানদিকে থাকা কলামের ডেটা রূপান্তর করতে পারি (,) কমা (,) এর বাম দিকে ডেটা টাইপ করতে দয়া করে নীচের উদাহরণটি দেখুন।

SELECT CONVERT (VARCHAR(10), ColumnName) FROM TableName
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.