sql - আমি কি ব্যবহার করবো!=অথবা<> টি-এসকিউএলে সমান নয়?




sql-server tsql (10)

ANSI এসকিউএল স্ট্যান্ডার্ডটি <> হিসাবে "অপারেটর সমান" অপারেটরটিকে সংজ্ঞায়িত করে না,

http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt ( 5.2 <token> and <separator> )

ANSI / SQL 92 মান অনুযায়ী কোন != অপারেটর নেই !=

আমি SQL দেখেছি যা উভয়ই ব্যবহার করে != এবং <> সমান নয় । পছন্দসই সিনট্যাক্স কি এবং কেন?

আমি পছন্দ করি != , কারণ <> Visual Basic আমাকে মনে করিয়ে দেয়।


আপনি SQL সার্ভার AKA T-SQL ব্যবহার করছেন যদি টেকনিক্যালি তারা একই কাজ করে। আপনি যদি সংরক্ষণ পদ্ধতিতে এটি ব্যবহার করছেন তবে অন্যের উপরে একটি ব্যবহার করার কোন কার্যকারিতা নেই। এটা তারপর ব্যক্তিগত পছন্দ নিচে আসে। আমি <> ব্যবহার করতে পছন্দ করি কারণ এটি ANSI সম্মতিপূর্ণ।

আপনি বিভিন্ন ANSI মান লিঙ্ক খুঁজে পেতে পারেন ...

http://en.wikipedia.org/wiki/SQL


আমি <> != পরিবর্তে <> != ব্যবহার করে পছন্দ করি কারণ কখনও কখনও আমি এসকিউএল কমান্ড লেখার জন্য <s></s> সিনট্যাক্স ব্যবহার করি। ব্যবহার করে != এই ক্ষেত্রে সিনট্যাক্স ত্রুটি এড়ানোর জন্য আরও সহজ।


আমি বুঝি যে সি সিনট্যাক্স != তার ইউনিক্স ঐতিহ্যের কারণে SQL সার্ভারে (Sybase SQL সার্ভারের দিনগুলিতে, প্রাক মাইক্রোসফ্ট SQL সার্ভার 6.5)।


তারা উভয় টি-এসকিউএল গ্রহণ করা হয়। যাইহোক, মনে হচ্ছে যে <> ব্যবহার করে অনেক দ্রুত কাজ করে != । আমি শুধু একটি জটিল ক্যোয়ারী চালাচ্ছিলাম যা ব্যবহার করে != , এবং এটি চালানোর জন্য গড় 16 সেকেন্ড সময় নেয়। আমি তাদের <> পরিবর্তন করেছি এবং এখন প্রশ্নটি চালানোর জন্য প্রায় 4 সেকেন্ড সময় লাগে। যে একটি বিশাল উন্নতি!



যদিও তারা একই ভাবে কাজ করে != মানে ঠিক "সমান নয়", মানে <> অর্থ সঞ্চয় করা মূল্যের চেয়ে কম এবং কম।

>= বা <= বিবেচনা >= , এবং যখন আপনার সূচীগুলিতে প্রশ্নগুলি ফ্যাক্টরি করার সময় এটি কার্যকর হবে ... <> কিছু ক্ষেত্রে (দ্রুত সূচক সহ) দ্রুত চালানো হবে তবে কিছু অন্যান্য ক্ষেত্রে (সূচী মুক্ত) তারা কেবলমাত্র একই.

এটি আপনার ডেটাবেস সিস্টেম মানগুলি কীভাবে পড়বে তার উপর নির্ভর করে != এবং <> । ডেটাবেস সরবরাহকারীটি এটি শর্টকাট করতে পারে এবং তাদের একই কাজ করতে পারে, সুতরাং কোন উপকারিতা নেই। PostgreSQL এবং SQL সার্ভার এই শর্টকাট না; এটা উপরে প্রদর্শিত হিসাবে এটি পড়তে হয়।


সর্বাধিক ডাটাবেস সমর্থন != (জনপ্রিয় প্রোগ্রামিং ভাষা) এবং <> (ANSI)।

ডাটাবেস যে উভয় সমর্থন করে != এবং <> :

এএনএসআই স্ট্যান্ডার্ড অপারেটর সমর্থন করে এমন ডাটাবেস, বিশেষ করে :

  • আইবিএম ডিবি ২ ইউডিবি 9 .5: <>
  • মাইক্রোসফ্ট অ্যাক্সেস 2010: <>


'<>' এসকিউএল -২9 স্ট্যান্ডার্ড থেকে এবং '!=' একটি proprietary টি-এসকিউএল অপারেটর। এটি অন্যান্য উপাত্তগুলিতেও পাওয়া যায় তবে এটি মানসম্মত নয় তবে এটি আপনাকে কেস-বাই-কেস ভিত্তিতে গ্রহণ করতে হবে।

বেশিরভাগ ক্ষেত্রে, আপনি জানেন যে কোন ডেটাবেসে আপনি সংযোগ করছেন তাই এটি আসলে কোন সমস্যা নয়। সবচেয়ে খারাপ সময়ে আপনি একটি অনুসন্ধান করতে এবং আপনার এসকিউএল প্রতিস্থাপন করতে হতে পারে।






tsql