এনভারচর (ম্যাক্স) সর্বোচ্চ কতগুলি অক্ষর ধারণ করবে?


102

আমি ধারণায় নতুন nvarchar(MAX)। এটি কতটি চরিত্র ধারণ করবে?

উত্তর:


155

সর্বোচ্চ। ধারণক্ষমতা 2 গিগাবাইট স্থান - সুতরাং আপনি কেবল 1 বিলিয়ন 2-বাইট অক্ষরের চেয়ে বেশি দেখছেন যা কোনও NVARCHAR(MAX)ক্ষেত্রের সাথে খাপ খায়।

অন্য উত্তরের আরও বিশদ সংখ্যা ব্যবহার করে আপনার সঞ্চয় করা উচিত

(2 ^ 31 - 1 - 2) / 2 = 1'073'741'822 double-byte characters

1 billion, 73 million, 741 thousand and 822 characters to be precise

আপনার NVARCHAR(MAX)কলামে (দুর্ভাগ্যক্রমে, শেষ অর্ধেক চরিত্রটি নষ্ট হয়ে গেছে ...)

আপডেট: যেমন @ মার্টিনমুল্ডার উল্লেখ করেছেন: যে কোনও পরিবর্তনশীল দৈর্ঘ্যের অক্ষর কলামটিতেও আসল দৈর্ঘ্য সংরক্ষণ করার জন্য একটি 2 বাইট ওভারহেড রয়েছে - সুতরাং আমার 2 ^ 31 - 1পূর্বে নির্ধারিত দৈর্ঘ্য থেকে আরও দুটি বাইট বিয়োগ করতে হবে - সুতরাং আপনি 1 টি ইউনিকোডের চেয়ে কম অক্ষর সংরক্ষণ করতে পারবেন আমি আগে দাবি ছিল।


1
বাহ ... সুতরাং আমি অনুমান করি যে তখন আমার সর্বোচ্চ আকারের বৈধতা রুল স্থাপনের বিষয়ে সত্যই চিন্তা করার দরকার নেই। যদিও আমি এনভারচার (ম্যাক্স) ব্যবহার করি তখন আমার সম্পর্কে আরও যত্নবান হওয়া উচিত।
কোক্কেলস

20
@ কোকেলস: আপনি যদি টলস্টয়ের যুদ্ধ ও শান্তি (প্রায় ৩.১ মিলিয়ন চরিত্রগুলি) প্রায় 350 গুণ বেশি বারের পরিকল্পনা না করেন - না, আপনাকে সক্ষমতা সম্পর্কে চিন্তা করতে হবে না :-) এবং যেহেতু এটি একটি ভ্রচার / এনভিচার্আর টাইপ, তাই এটি হবে সর্বদা কেবলমাত্র প্রয়োজনীয় স্থানটি ব্যবহার করুন - অপচয় বা
অযাচিতভাবে

2
সত্যি? চমৎকার. কৌতূহলের বাইরে, কোন ক্ষেত্রে আপনি এনভারচর (ম্যাক্স) ব্যবহার করতে চান না?
কোক্কেলস

5
@ কোক্কেলস: ব্যবহার করুন VARCHAR(MAX), যদি আপনার এশিয়ান, আরব বা সিরিলিক ভাষার জন্য 2-বাইট সমর্থন প্রয়োজন না হয়। ব্যবহারের (N)VARCHAR(x)আপনি যদি জানেন একটি স্ট্রিং এক্স অক্ষরের বেশি হবে না (ব্যবহার করবেন না NVARCHAR(MAX)একটি নাম জন্য - ব্যবহার NVARCHAR(50), বা যতটুকু আপনি জ্ঞান করে তোলে)
marc_s

1
আমি সবেমাত্র আমার প্রশ্নটি আমাকে একই প্রশ্ন জিজ্ঞাসা করেছিলাম এবং আপনার উত্তর দুটিই আমার মুখের উপর একটি বড় হাসি জাগিয়ে তোলে। +1 টি।
ম্যাথিস কোহলি

11

থেকে গৃহস্থালির কাজ এবং varchar (লেনদেন এসকিউএল)

ভারচার [(n | সর্বোচ্চ)]

চলক দৈর্ঘ্য, অ-ইউনিকোড অক্ষর ডেটা। এন 1 থেকে 8,000 এর মধ্যে মান হতে পারে। সর্বোচ্চ নির্দেশ করে যে সর্বাধিক স্টোরেজ আকার 2 ^ 31-1 বাইট। স্টোরেজের আকার হ'ল + 2 বাইট প্রবেশ করা ডেটার আসল দৈর্ঘ্য। প্রবেশ করা ডেটা দৈর্ঘ্যে 0 টি অক্ষর হতে পারে। বর্ণের জন্য প্রতিশব্দ দুটি অক্ষরের চরিত্রগত বা বর্ণের পরিবর্তিত হয়।


4

2 ^ 31-1 বাইট। সুতরাং, বর্ণচর্চা (সর্বাধিক) এর চেয়ে 2 n 31-1 টির চেয়ে কম এবং nvarchar (সর্বাধিক) জন্য অর্ধেক।

nchar এবং nvarchar

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