নুলের কি কোনও প্রকার আছে?


14

বিভিন্ন উত্স (যেমন উইকিপিডিয়া , পিএসইউজিজি ) জানিয়েছে যে ওরাকলসেরnull কোনও প্রকার নেই। এটা কি সত্য?

অন্যান্য আরডিবিএমএস সম্পর্কে কী?

উত্তর:


8

ওরাকল:

nullআক্ষরিক একটি টাইপ আছে না, কিন্তু

  1. null যে কোনও ধরণের কাস্ট করা যেতে পারে এবং যখন এটি প্রয়োজন হতে পারে

    • অতিরিক্ত লোড পদ্ধতি বা ফাংশন কলিং
    • decodeফাংশনটির রিটার্ন টাইপ নিয়ন্ত্রণ করা , যেমন:

      select decode('A','B',to_char(null),'A','1') from dual;
      DECODE('A','B',TO_CHAR(NULL),'A','1')
      -------------------------------------
      1
      
      select decode('A','B',to_number(null),'A','1') from dual;
      DECODE('A','B',TO_NUMBER(NULL),'A','1')
      --------------------------------------- 
                                            1
    • কলামের ধরণের সেট অপারেটরগুলি নিয়ন্ত্রণ করা unionযখন প্রথম কোয়েরি ব্লকে একটি অন্তর্ভুক্ত থাকেnull
  2. nullডাটাবেসে সঞ্চিত মানগুলির সর্বদা একটি প্রকার থাকে:

    create table t(n integer, s varchar(10));
    insert into t values(null, null);
    
    select decode('A','B',n,'A','1') from t; 
    DECODE('A','B',N,'A','1')
    -------------------------
                            1
    
    select decode('A','B',s,'A','1') from t;
    DECODE('A','B',S,'A','1')
    -------------------------
    1

2
+1 কৌতূহলের জন্য আসুন আমরা DUAL থেকে কী_প্রকার_এই_টি নির্বাচন করুন; অবশ্যই এটি কোনও ব্যবহারিক দরকারী উদাহরণ নয় এবং আমি এটি এখনও চেষ্টা করে দেখিনি, আমি এ জাতীয় ক্ষেত্রে ক্যাসেট ব্যবহার করতে শিখেছি।
bernd_k

6

এসকিউএল সার্ভার, int

SELECT NULL AS foo INTO dbo.bar
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'bar'
DROP TABLE dbo.bar

মাইএসকিউএল, বাইনারি (0)

CREATE TABLE mydb.foo (select NULL AS bar);
EXPLAIN mydb.foo;
DROP TABLE mydb.foo;

+1 এটি অত্যন্ত আকর্ষণীয় - আমি ধরে
নিয়েছিলাম যে

4
আকর্ষণীয় সন্ধান। যাইহোক, এটি দেখায় যে D ডিবি ইঞ্জিনগুলি সেই উপায়ে টেবিল তৈরি করার সময় একটি ডেটাটাইপকে ডিফল্ট করে তোলে, অগত্যা এই যে ইঞ্জিনগুলির মধ্যে এনইউএলএল একটি প্রকার রয়েছে। উদাহরণস্বরূপ, এই ত্রুটিটি পরামর্শ দেয় যে এসকিউএল সার্ভার প্রকৃতপক্ষে NULL কে টাইপযুক্ত হিসাবে বিবেচনা করে।
নিক চাম্মাস

2
@ নিক select isnumeric(null)= 0 ... আকর্ষণীয়
ফ্যাক্টর মিস্টিক

5

ওরাকল এটি কিছু অর্থে হয় স্ট্রিং টাইপ।

এডিও পাঠক আমাকে যা বলে তা বলে। এখানে একটি পাওয়ারশেল লিপি রয়েছে:

[System.Reflection.Assembly]::LoadWithPartialName("System.Data.OracleClient") 
$ConnectionString = "Data Source=myTNS;User ID=myUSER;Password=myPassword" 
$conn=new-object System.Data.OracleClient.OracleConnection 
$conn.ConnectionString=$ConnectionString 
$conn.Open() 
$sql = "Select NULL xx from DUAL"
$cmd=new-object System.Data.OracleClient.OracleCommand($sql,$conn)

$r = $cmd.ExecuteReader()

$r.GetSchemaTable() | % { $_
}        

যে দেয়

ColumnName               : XX
ColumnOrdinal            : 0
ColumnSize               : 0
NumericPrecision         : 0
NumericScale             : 0
DataType                 : System.String
ProviderType             : 22
IsLong                   : False
AllowDBNull              : True
IsAliased                : 
IsExpression             : 
IsKey                    : 
IsUnique                 : 
BaseSchemaName           : 
BaseTableName            : 
BaseColumnName           : 
ProviderSpecificDataType : System.Data.OracleClient.OracleString

লাইনটি নোট করুন

প্রোভাইডারস্পেসিফিকডেটা টাইপ : সিস্টেম.ডাটা.অরাকলক্লিয়েন্ট.অরাকল স্ট্রিং


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