আমি দেখেছি SQL
যে দুটিই ব্যবহার করে !=
এবং <>
এর জন্য সমান না । পছন্দের বাক্য গঠন কী এবং কেন?
আমি পছন্দ করি !=
, কারণ <>
আমাকে মনে করিয়ে দেয় Visual Basic
।
NOT (A = B)
,।
আমি দেখেছি SQL
যে দুটিই ব্যবহার করে !=
এবং <>
এর জন্য সমান না । পছন্দের বাক্য গঠন কী এবং কেন?
আমি পছন্দ করি !=
, কারণ <>
আমাকে মনে করিয়ে দেয় Visual Basic
।
NOT (A = B)
,।
উত্তর:
আপনি যদি এসকিউএল সার্ভার একা টি-এসকিউএল ব্যবহার করেন তবে প্রযুক্তিগতভাবে তারা একই কাজ করে। আপনি যদি এটি সঞ্চিত পদ্ধতিতে ব্যবহার করে থাকেন তবে একে অপরকে ব্যবহার করার কোনও কার্যকারিতার কারণ নেই। এটি পরে ব্যক্তিগত পছন্দ নেমে আসে। আমি <> ব্যবহার করতে পছন্দ করি কারণ এটি এএনএসআই অনুগত।
আপনি এখানে বিভিন্ন এএনএসআই স্ট্যান্ডার্ডের লিঙ্কগুলি খুঁজে পেতে পারেন ...
!=
প্রতিটি সি-প্রভাবিত ভাষায় এর অস্তিত্বের কারণে আমি সর্বদা ব্যবহার পছন্দ করতাম এবং পাইথন ডকুমেন্টেশন বলে: "ফর্মগুলি <>
এবং !=
সমতুল্য; সি এর সাথে সামঞ্জস্যের জন্য, !=
যেখানে !=
নীচে উল্লেখ করা হয়েছে <>
তাও গ্রহণযোগ্য। <>
বানান লুপ্তপ্রায় বিবেচনা করা হয়। " তবে এসকিউএল পাইথন নয়!
<>
উপর !=
নয় ", টি-এসকিউএল দুই সমর্থন যখন মান আকারে পছন্দ করে নিন উদাহরণস্বরূপ" বিশেষভাবে 70-461 পরীক্ষার জন্য ANSI সম্মতি, যেমন মাইক্রোসফট প্রেস প্রশিক্ষণ কিট জন্য, "অনুসন্ধান মাইক্রোসফট SQL সার্ভার", তারা বলে "অপারেটর: <> এবং! = এর সমান
বেশিরভাগ ডাটাবেস সমর্থন করে !=
(জনপ্রিয় প্রোগ্রামিং ভাষা) এবং <>
(এএনএসআই)।
ডেটাবেস যা উভয় সমর্থন করে !=
এবং <>
:
!=
এবং<>
!=
এবং<>
!=
এবং<>
!=
এবং<>
!=
এবং<>
!=
এবং<>
!=
এবং<>
!=
এবং<>
!=
এবং<>
ডেটাবেস যে ANSI মান অপারেটর সমর্থন একচেটিয়াভাবে :
NOT (a = b)
পরিবর্তে (a <> b)
বা এর মানচিত্রের ক্যোয়ারী (a != b)
। এটি কি অভ্যন্তরীণভাবে একই?
'<>'
থেকে এসকিউএল 92 মান এবং '!='
একটি হল মালিকানা টি-এসকিউএল অপারেটর। এটি অন্যান্য ডাটাবেসেও পাওয়া যায় তবে এটি মানসম্পন্ন না হওয়ায় আপনাকে কেস-কেস-কেস ভিত্তিতে নিতে হবে।
বেশিরভাগ ক্ষেত্রে, আপনি কী ডাটাবেসে সংযোগ করছেন তা আপনি জানবেন তাই এটি আসলে কোনও সমস্যা নয়। সবচেয়ে খারাপ সময়ে আপনাকে একটি অনুসন্ধান করতে হবে এবং আপনার এসকিউএল প্রতিস্থাপন করতে হবে।
!=
কাছে এটির একটি অংশ নয়। যদিও সমস্ত ব্যবহারিক উদ্দেশ্যে এটি একটি ডিফাক্টো স্ট্যান্ডার্ড, আমাদের স্ট্যান্ডার্ড বৈশিষ্ট্যগুলি কী এবং কী নয় তা বিভ্রান্ত করা উচিত নয়।
এএনএসআই এসকিউএল স্ট্যান্ডার্ড <>
"সমান নয়" অপারেটর হিসাবে সংজ্ঞা দেয়,
http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt ( 5.2 <token> and <separator>
)
!=
এএনএসআই / এসকিউএল 92 স্ট্যান্ডার্ড অনুযায়ী কোনও অপারেটর নেই ।
<>
এসকিউএল -92 মান অনুসারে বৈধ এসকিউএল।
http://msdn.microsoft.com/en-us/library/aa276846(SQL.80).aspx
এসকিউএল সার্ভারের ক্ষেত্রে এগুলি উভয়ই বৈধ এবং একই ,
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/not-equal-to-transact-sql-exclamation
মনে হচ্ছে মাইক্রোসফ্ট নিজেরাই তাদের টেবিলের সীমাবদ্ধতার প্রমাণ হিসাবে পছন্দ <>
করে !=
। আমি ব্যক্তিগতভাবে ব্যবহার করতে পছন্দ !=
করি কারণ আমি স্পষ্টভাবে "সমান নয়" হিসাবে পড়েছি তবে আপনি যদি [field1 != field2]
এটি প্রবেশ করিয়ে বাধা হিসাবে সংরক্ষণ করেন, পরের বার আপনি যখন এটি জিজ্ঞাসা করবেন তখন এটি প্রদর্শিত হবে [field1 <> field2]
। এটি আমাকে বলে যে এটি করার সঠিক উপায় <>
।
!=
, অ-এএনএসআই হওয়া সত্ত্বেও, পাঠযোগ্য ভাষা হিসাবে এসকিউএল-এর প্রকৃত চেতনায় আরও বেশি। এটি চিৎকার করে না সমান।
<>
বলেন এটি আমার কাছে (এর চেয়ে কম, এর চেয়েও কম) যা কেবল অদ্ভুত। আমি জানি উদ্দেশ্যটি এটি যেহেতু সমান নয় তার চেয়ে কম বা বৃহত্তর, তবে এটি সত্যিই সাধারণ কিছু বলার একটি জটিল উপায়।
আমাকে কিছু দীর্ঘ এসকিউএল ক্যুয়েরি নিতে হয়েছিল এবং মূর্খ কারণগুলির পুরো গুচ্ছের জন্য আমি তাদের XML ফাইলে স্নেহ সহকারে স্থাপন করতে হয়েছিল I
এক্সএমএল মোটেও কমছে না বলে যথেষ্ট হয়েছে <>
এবং আমি !=
নিজের বিরুদ্ধে কঠোর আচরণ করার আগে আমাকে সেগুলিতে পরিবর্তন করতে হয়েছিল এবং নিজেকে পরীক্ষা করতে হয়েছিল।
আপনি টি-এসকিউএল এ যা পছন্দ করতে পারেন তা ব্যবহার করতে পারেন। ডকুমেন্টেশন বলছে যে তারা উভয়ই একইভাবে কাজ করে। আমি পছন্দ করি !=
, কারণ এটি আমার (সি / সি ++ / সি # ভিত্তিক) মনের সাথে "সমান নয়" পড়ে তবে ডাটাবেস গুরুরা পছন্দ করে বলে মনে হয় <>
।
এক বিকল্প চেয়ে NULLIF অন্যান্য অপারেটর ব্যবহার করতে হবে <>
বা !=
যা আয় শূন্য যদি দুটি আর্গুমেন্ট সমান মাইক্রোসফট ডক্সে NULLIF । সুতরাং আমি বিশ্বাস করি যেখানে ক্লজটি নীচে <>
এবং এর জন্য সংশোধন করা যেতে পারে !=
:
NULLIF(arg1, arg2) IS NOT NULL
যেমনটি আমি পেয়েছি যে ব্যবহার করে <>
এবং !=
কিছু ক্ষেত্রে তারিখের জন্য কাজ করে না। সুতরাং উপরোক্ত অভিব্যক্তি ব্যবহার করা প্রয়োজনীয় করে তোলে।
<>
সমস্ত কোণার ক্ষেত্রে সূচক ব্যবহারের সাথে পাশাপাশি সম্পাদন করবে । তদ্ব্যতীত পাঠযোগ্যতা অবশ্যই আরও খারাপ ...
আমি ব্যবহার পছন্দ !=
পরিবর্তে <>
কারণ কখনও কখনও আমি ব্যবহার <s></s>
লেখ এসকিউএল কমান্ড সিনট্যাক্স। !=
এই ক্ষেত্রে সিনট্যাক্স ত্রুটিগুলি এড়ানোর জন্য ব্যবহার করা আরও সহজ hand
তারা উভয়ই টি-এসকিউএল-তে গৃহীত হয়। তবে, মনে হচ্ছে ব্যবহারের <>
চেয়ে অনেক দ্রুত কাজ!=
করে । আমি কেবল একটি জটিল ক্যোয়ারী চালিয়েছি যা ব্যবহার করছিল !=
এবং এটি চালাতে প্রায় 16 সেকেন্ড সময় নিয়েছিল। আমি এগুলিতে পরিবর্তন করেছি <>
এবং ক্যোয়ারী চালাতে এখন প্রায় 4 সেকেন্ড সময় নেয়। এটি একটি বিশাল উন্নতি!
যদিও তারা একইভাবে কাজ করে, এর !=
অর্থ হুবহু "সমান নয়", এর <>
অর্থ হল সঞ্চিত মানের চেয়ে বড় এবং কম।
বিবেচনা করুন >=
বা <=
, এবং আপনার সূচীগুলিতে ক্যোয়ারিতে ফ্যাক্টরিং করার সময় এটি বোধগম্য হবে ...<>
কিছু ক্ষেত্রে (ডান সূচক সহ) দ্রুত চলবে, তবে অন্য কিছু ক্ষেত্রে (সূচক মুক্ত) তারা ঠিক একই রকম চলবে।
এটাও কিভাবে আপনার ডাটাবেস সিস্টেম মান সার্চ উপর নির্ভর করে !=
এবং <>
। ডাটাবেস সরবরাহকারী এটিকে কেবল শর্টকাট করে তাদের একই কাজ করতে পারে, সুতরাং কোনও উপকার নেই isn't পোষ্টগ্রিসএসকিউএল এবং এসকিউএল সার্ভার এটি শর্টকাট করে না; এটি উপরে প্রদর্শিত হিসাবে এটি পড়া হয়।