টি-এসকিউএল কাস্ট বনাম রূপান্তর


325

আপনার যখন CASTবনাম ব্যবহার করা উচিত তখন সাধারণ দিকনির্দেশনাটি কী CONVERT? অন্যের তুলনায় একটি বেছে নেওয়ার সাথে সম্পর্কিত কোনও পারফরম্যান্স সমস্যা আছে কি? এক কি এএনএসআই-এসকিউএল এর কাছাকাছি?

উত্তর:


339

CONVERTএসকিউএল সার্ভার নির্দিষ্ট, CASTএটিএনএসআই।

CONVERTআপনি খেজুর ইত্যাদি ফর্ম্যাট করতে পারেন তার চেয়ে আরও নমনীয় that এগুলি ছাড়াও এগুলি বেশ প্রায় একই। আপনি যদি বর্ধিত বৈশিষ্ট্যগুলি সম্পর্কে চিন্তা না করেন তবে ব্যবহার করুনCAST

সম্পাদনা করুন:

নীচের মন্তব্যে @ বেরুয়িক এবং @ সিএফ দ্বারা উল্লিখিত হিসাবে, কোনও অন্তর্নিহিত রূপান্তর ব্যবহৃত হলে যথাযথ ক্ষতি হারাতে পারে (এটি এমন যেখানে আপনি CAST বা CONVERT ব্যবহার করেন না)। আরও তথ্যের জন্য, কাস্ট এবং কনভার্ট এবং বিশেষত এই গ্রাফিকটি দেখুন: এসকিউএল সার্ভার ডেটা প্রকার রূপান্তর চার্ট । এই অতিরিক্ত তথ্য দিয়ে, মূল পরামর্শ এখনও একই থাকে। যেখানে সম্ভব CAST ব্যবহার করুন।


5
এছাড়াও, আমি বিশ্বাস করি কিছু সংখ্যক রূপান্তর রয়েছে যেখানে যথাযথতা সংরক্ষণের জন্য CAST ব্যবহার করা উচিত, তবে এই তথ্যের জন্য একটি নির্ভরযোগ্য উত্স খুঁজে পেতে আমার সমস্যা হচ্ছে।
বেরুউইক

2
@ বারুইক আপনি ঠিকই বলেছেন, এমএসডিএন-তে তথ্য রয়েছে: এমএসডিএন.মাইক্রোসফটকম /en-us/library/ms187928.aspx CAST এর ডেসিমাল এবং NUMERIC প্রকারের মধ্যে রূপান্তর করার সময় নির্ভুলতা সংরক্ষণ করা দরকার।
সিএফ

@ সিএফ আপনি এই তথ্যটি কোথায় দেখছেন? আমি লিঙ্কটি অনুসরণ করেছি, যা CAST এবং কনভার্টে সাধারণ পৃষ্ঠাটি খোলে এবং নির্ভুলতা সম্পর্কিত একমাত্র তথ্যটি আমি খুঁজে পেতে পারি যা বৈজ্ঞানিক স্বরলিপি ব্যবহার করে এমন ভাসমান মানগুলির রূপান্তর সম্পর্কিত। আমার প্রাথমিক মন্তব্যে ভুল হতে পারে?
বেরুউইচ

6
@ বারুইক এটি এই ছবিটি সম্পর্কে নিবন্ধের নীচে i.msdn.microsoft.com/dynimg/IC170617.gif এখন আমি মনে করি যে নিখুঁত রূপান্তরটি যথাযথ ক্ষতি হতে পারে এবং যখন CAST বা CONVERT ব্যবহার করা হয় তখন ঘটে না । এটি পুরোপুরি পরিষ্কার নয় ...
সিএফ

2
@ সিএফ আমি সম্মত হই যে এটি খুব স্পষ্ট নয়, এবং অবশ্যই এটি সম্পর্কে আরও নির্দিষ্ট ডকুমেন্টেশন থাকা উচিত, তাই আশা করি মাইক্রোসফ্ট এটি করবে। তবে সেখানে ভালভাবে
দণ্ডিত হয়েছে


12

CAST হ'ল স্ট্যান্ডার্ড এসকিউএল, তবে কনভার্টটি কেবল টি-এসকিউএল ডায়ালেক্টের জন্য। ডেটটাইমের ক্ষেত্রে রূপান্তর করার জন্য আমাদের একটি ছোট সুবিধা রয়েছে।

CAST সহ, আপনি প্রকাশ এবং লক্ষ্য প্রকারটি নির্দেশ করুন; কনভার্টের সাহায্যে, তৃতীয় যুক্তি রূপান্তরটির জন্য শৈলীর প্রতিনিধিত্ব করে, যা চরিত্রের স্ট্রিং এবং তারিখ এবং সময় মানগুলির মধ্যে কিছু রূপান্তরগুলির জন্য সমর্থিত। উদাহরণস্বরূপ, কনভার্ট (তারিখ, '1/2/2012', 101) মার্কিন যুক্তরাষ্ট্রের স্ট্যান্ডার্ড প্রতিনিধিত্ব করে স্টাইল 101 ব্যবহার করে আক্ষরিক চরিত্রের স্ট্রিংটিকে DATE এ রূপান্তর করে।


8

উপরের উত্তরটি শক্তি দ্বারা অনুলিপি প্রসারিত করতে , আমি দুটি কার্যের মধ্যে পারফরম্যান্সের পার্থক্যটি পরিমাপ করতে সক্ষম হয়েছি।

আমি সমাধান বৈচিত্র কর্মক্ষমতা পরীক্ষা ছিল এই প্রশ্নের দেখলেন স্ট্যানডার্ড ডেভিয়েশন এবং সর্বোচ্চ রানটাইম ব্যবহার করে যখন বড় ছিল CAST

মিলি সেকেন্ডে রানটাইম টাইপগুলি মিলি সেকেন্ডে, প্রকারের নির্ভুলতা অনুসারে সেকেন্ডের নিকটতম 1/300 তম গোলাকারDateTime


6

কেউ এখনও মনে করেনি এমন কিছু যা পঠনযোগ্যতা। রয়ে ...

CONVERT(SomeType,
    SomeReallyLongExpression
    + ThatMayEvenSpan
    + MultipleLines
    )

… এর চেয়ে বোঝা সহজ হতে পারে…

CAST(SomeReallyLongExpression
    + ThatMayEvenSpan
    + MultipleLines
    AS SomeType
    )

2
তবে, আমি মনে করি CAST সাধারণত বেশি পঠনযোগ্য। CAST(Column1 AS int)চেয়ে পড়তে আরো যৌক্তিক CONVERT(int, Column1)এমনকি দীর্ঘ এক্সপ্রেশন জন্য
S.Serpooshan

4

CAST এএনএসআই মান ব্যবহার করে। বহনযোগ্যতার ক্ষেত্রে, এটি অন্যান্য প্ল্যাটফর্মগুলিতে কাজ করবে। CONVERT স্কেল সার্ভারের সাথে সুনির্দিষ্ট। তবে খুব শক্তিশালী ফাংশন। আপনি তারিখের জন্য বিভিন্ন শৈলী নির্দিষ্ট করতে পারেন

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