আপনি কীভাবে এসকিউএল সার্ভারে একটি হ্যাঁ / না বুলিয়ান ক্ষেত্র তৈরি করবেন?


328

কোনও বা সাধারণ থেকে রূপান্তর করার সময় yes/noBooleanক্ষেত্র তৈরির জন্য সর্বোত্তম অনুশীলন কোনটি access database?

উত্তর:


441

সমান একটি BITক্ষেত্র।

ইন SQLআপনি ব্যবহার 0এবং 1(এক্সেস মাত্র হ্যা হিসাবে / না ক্ষেত্র) একটি বিট ক্ষেত্র সেট করে। ম্যানেজমেন্ট স্টুডিওতে এটি একটি মিথ্যা / সত্য মান হিসাবে প্রদর্শিত হয় (কমপক্ষে সাম্প্রতিক সংস্করণগুলিতে)।

ASP.NET এর মাধ্যমে ডাটাবেস অ্যাক্সেস করার সময় এটি ক্ষেত্রটি বুলিয়ান মান হিসাবে প্রকাশ করবে।


3
এবং যদি আপনি কোনও অ্যাক্সেস ডাটাবেসে টেবিলটি সংযুক্ত করেন তবে সত্যিকারের মান -1 এবং মিথ্যাটির মান 0 হবে At কমপক্ষে অ্যাক্সেস 2003 এ in
হেনরিক এরল্যান্ডসন

2
দয়া করে নোট করুন যে এটি ঠিক সমতুল্য নয়। যদি কোনও স্কেলারের ফাংশনটি কিছুটা ফিরে আসে তবে আপনাকে 0 বা 1 হয় কিনা তা পরীক্ষা করে দেখতে হবে উদাহরণস্বরূপ, dbo.IsReturnsBit (মান) = 1
ড্যারেন গ্রিফিথ

@ ডি-মানি: হ্যাঁ, তবে যদি আপনি কোনও শর্তে মানটি ব্যবহার করতে চান তবে আপনার কেবল তুলনাটি করতে হবে। আপনি যদি ফলাফলটিতে মানটি ব্যবহার করেন তবে আপনার তুলনা করা উচিত নয়।
গুফা

রে এমজিটি স্টুডিও, আপনি যদি কপি + ডাটা পেস্ট করে থাকেন তবে আপনার এটি
1/0

110

BITডাটাটাইপ সাধারণত সংরক্ষণ করা হয় boolean(মান 0জন্য false, 1জন্য true)।


1
হয় BITSQL এর মান নির্দিষ্ট? এটি খুঁজে পেতে আমার খুব কষ্ট হচ্ছে। সবচেয়ে কাছের আমি দেখতে পেলাম "বুলিয়ান টাইপ"।
জিজ্ঞাসা করুন

1
আপনি কি এ বিষয়ে উদ্বিগ্ন যে বিট এবং বুলিয়ানগুলির শব্দার্থবিদ্যা আলাদা?
ডারথ এগ্রিজিয়াস


20

আপনি BITক্ষেত্রটি ব্যবহার করতে পারেন ।

বিদ্যমান সারণিতে বিআইটি কলাম যুক্ত করার জন্য, এসকিউএল কমান্ডটি দেখতে পাবেন:

ALTER TABLE table_name ADD yes_no BIT

যদি আপনি একটি নতুন সারণি তৈরি করতে চান, আপনি কাজ করতে পারে: CREATE TABLE table_name (yes_no BIT)


19

আপনি ডেটা টাইপ ব্যবহার করতে পারেন bit

0 টির চেয়ে বেশি হওয়া মানগুলি '1' হিসাবে সংরক্ষণ করা হবে

0 টিরও কম মান সন্নিবেশ করাতে '1' হিসাবে সংরক্ষণ করা হবে

'0' হিসাবে সন্নিবেশ করা মানগুলি '0' হিসাবে সংরক্ষণ করা হবে

এটি এমএস এসকিউএল সার্ভার 2012 এক্সপ্রেসের ক্ষেত্রে সত্য true


1
আপনি 0 এর চেয়ে কম মান সম্পর্কিত বিবৃতি সম্পর্কে নিশ্চিত?
বিদল

3
@ বিলএল এটি বেশিরভাগ ভাষায় সাধারণ আচরণ। 0মিথ্যা, যে কোনও অ- 0সংখ্যা সত্য। সত্য-এর জন্য ডিফল্ট মান হওয়াও -১ এর পক্ষে সাধারণ ছিল কারণ স্বাক্ষরিত বাইনারিতে এটি প্রতি বিট সেট করে it's
সিজে ডেনিস

16

ইতিমধ্যে বিটের ব্যবহার বলার উত্তর রয়েছে। আমি এই উত্তরগুলিতে আরও যুক্ত করব।

বুলিয়ান মানগুলি উপস্থাপনের জন্য আপনার বিট ব্যবহার করা উচিত ।

এমএসডিএন নিবন্ধ থেকে মন্তব্য।

বিট 1, 0 বা NULL এর মান নিতে পারে।

এসকিউএল সার্ভার ডেটাবেস ইঞ্জিন বিট কলামগুলির স্টোরেজ অনুকূল করে। যদি কোনও টেবিলে 8 বা তার চেয়ে কম বিট কলাম থাকে তবে কলামগুলি 1 বাইট হিসাবে সংরক্ষণ করা হয়। যদি 9 থেকে 16 বিট কলামগুলি হয় তবে কলামগুলি 2 বাইট হিসাবে সংরক্ষণ করা হবে এবং এগুলি।

স্ট্রিং মান TRUE এবং FALSE বিট মানগুলিতে রূপান্তরিত হতে পারে: TRUE 1 তে রূপান্তরিত হয় এবং FALSE 0 তে রূপান্তরিত হয়।

বিটে রূপান্তর কোনও ননজারো মানকে 1 এ প্রচার করে।

উল্লেখ

দ্রষ্টব্য: কেবলমাত্র ডাটা টাইপের সাথে মানগুলি 1 এবং 0 হিসাবে রাখা ভাল অনুশীলন NOT NULL

যেমন বিটের মান 1, 0 এবং NULL রয়েছে। এই জন্য সত্য সারণী দেখুন। সুতরাং সেই অনুযায়ী মান পরিকল্পনা করুন। এটি বিট ডেটা টাইপের জন্য নুল মানকে অনুমতি দিয়ে বিভ্রান্তি যুক্ত করতে পারে।

এখানে চিত্র বর্ণনা লিখুন

উল্লেখ


15

টেবিল তৈরি করার সময় নমুনা ব্যবহার:

[ColumnName]     BIT   NULL   DEFAULT 0

12

আপনি BITক্ষেত্রটি ব্যবহার করতে পারেন

নতুন টেবিল তৈরি করতে:

CREATE TABLE Tb_Table1
(
ID              INT,
BitColumn       BIT DEFAULT 1
)

বিদ্যমান সারণীতে কলাম যুক্ত করা হচ্ছে:

ALTER TABLE Tb_Table1 ADD BitColumn  BIT DEFAULT 1

রেকর্ড সন্নিবেশ করতে:

INSERT Tb_Table1 VALUES(11,0)

9

bitসবচেয়ে সহজ এবং স্বল্পতম স্থানও গ্রহণ করবে। "ওয়াই / এন" এর তুলনায় খুব ভার্বোস নয় তবে আমি এটির সাথে ভাল আছি।


4
এটি আমার পক্ষে ভাল - উদ্দেশ্য সম্পূর্ণরূপে সুস্পষ্ট, এবং এমন কোনও "বিশেষ" কেস নেই যা একক চরিত্রের ক্ষেত্রগুলি আমন্ত্রণ জানায় :)
রব গ্রান্ট

5

bitসবচেয়ে উপযুক্ত বিকল্প। অন্যথায় আমি একবার intসেই উদ্দেশ্যে ব্যবহার করেছি । 1জন্য trueএবং 0জন্য false


2
সাধারণত এটি মিথ্যার জন্য 0 এবং সত্যের জন্য শূন্যের জন্য ব্যবহৃত হয়।
এডু

2
অনেক স্বাদ আছে বা সত্য বলতে পারে একজন ভাল রাজনীতিবিদ: ডি
বুদা ফ্লোরিন

1

যে কোনও সংস্করণের এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিওতে, BITডেটা টাইপ হিসাবে ব্যবহার করুন

যা আপনাকে প্রদান করবে Trueবা Falseমান বিকল্পগুলি। যদি আপনি শুধু ব্যবহার করতে চান 1বা 0তাহলে আপনি এই পদ্ধতি ব্যবহার করতে পারেন:

CREATE TABLE SampleBit(
    bar int NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (-1, 0, 1))
)

তবে আমি সেরা বিকল্প BITহিসাবে কঠোরভাবে পরামর্শ দেব । আশা করি সম্পূর্ণরূপে এটি কাউকে সাহায্য করবে।

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