İngilizce dilinde oku

Aracılığıyla paylaş


Değerler

Değer, bir ifade değerlendirilerek oluşturulan verilerdir. Bu bölümde M dilindeki değer türleri açıklanmaktadır. Her değer türü değişmez bir söz dizimi, bu türdeki bir değer kümesi, bu değer kümesi üzerinde tanımlanan bir işleç kümesi ve yeni yapılandırılmış değerlere atfedilen iç türle ilişkilendirilir.

Tip Literal
Sıfır null
Mantıklı true    false
Numara 0    1    -1    1.5    2.3e-5
Time #time(09,15,00)
Date #date(2013,02,26)
Tarih Saat #datetime(2013,02,26, 09,15,00)
DateTimeZone #datetimezone(2013,02,26, 09,15,00, 09,00)
Süre #duration(0,1,30,0)
Metin "hello"
İkili #binary("AQID")
Liste {1, 2, 3}
Kayıt [ A = 1, B = 2 ]
Table #table({"X","Y"},{{0,1},{1,0}})
İşlev (x) => x + 1
Tür type { number }    type table [ A = any, B = text ]

Aşağıdaki bölümlerde her bir değer türü ayrıntılı olarak ele alınıyor. Türler ve tür tanımlayıcısı, Türler'de resmi olarak tanımlanır. İşlev değerleri İşlevler'de tanımlanır. Aşağıdaki bölümlerde her değer türü için tanımlanan işleçler listelenmiştir ve örnekler verebilirsiniz. İşleç semantiğinin tam tanımı İşleçler bölümünde yer alır.

Boş

Null değer, bir değerin yokluğunu veya belirsiz veya bilinmeyen durum değerini göstermek için kullanılır. Null değer değişmez nulldeğeri kullanılarak yazılır. Null değerler için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x > y Büyüktür
x >= y Büyüktür veya eşittir
x < y Küçüktür
x <= y Küçüktür veya eşittir
x = y Equal
x <> y Not equal
x ?? y Coalesce

Değerin null yerel türü, iç türüdür null.

Mantıksal

Boole işlemleri için mantıksal bir değer true veya false değerine sahiptir. Mantıksal değer, ve falsedeğişmez değerleri true kullanılarak yazılır. Mantıksal değerler için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x > y Büyüktür
x >= y Büyüktür veya eşittir
x < y Küçüktür
x <= y Küçüktür veya eşittir
x = y Equal
x <> y Not equal
x or y Koşullu mantıksal VEYA
x ?? y Coalesce
x and y Koşullu mantıksal AND
not x Mantıksal DEĞİl

Her iki mantıksal değerin (true ve false) yerel türü, iç türüdür logical.

Sayı

Sayı değeri , sayısal ve aritmetik işlemler için kullanılır. Aşağıda sayı değişmez değerleri örnekleri verilmiştir:

3.14  // Fractional number 
-1.5  // Fractional number 
1.0e3 // Fractional number with exponent
123   // Whole number 
1e3   // Whole number with exponent 
0xff  // Whole number in hex (255)

Bir sayı, en azından Bir Çift duyarlığıyla temsil edilir (ancak daha fazla duyarlığı koruyabilir). Çift gösterimi, [IEEE 754-2008] içinde tanımlanan ikili kayan nokta aritmetiği için IEEE 64 bit çift duyarlık standardıyla uyumludur. (Çift gösterim, 5,0 x 10324 ile 1,7 x 10 308 arasında 15-16 basamak duyarlıklı yaklaşık dinamik aralığa sahiptir.)

Aşağıdaki özel değerler de sayı değerleri olarak kabul edilir:

  • Pozitif sıfır ve negatif sıfır. Çoğu durumda, pozitif sıfır ve negatif sıfır, basit sıfır değeriyle aynı şekilde davranır, ancak bazı işlemler ikisini birbirinden ayırır.

  • Pozitif sonsuzluk (#infinity) ve negatif sonsuzluk (-#infinity). Sonsuzlar, sıfır olmayan bir sayıyı sıfıra bölme gibi işlemler tarafından üretilir. Örneğin, 1.0 / 0.0 pozitif sonsuzluk verir ve -1.0 / 0.0 negatif sonsuzluk verir.

  • Sayı Değil değeri ()#nan genellikle NaN olarak kısaltılır. NaN'ler, sıfırı sıfıra bölme gibi geçersiz kayan nokta işlemleriyle oluşturulur.

İkili matematik işlemleri Bir Duyarlık kullanılarak gerçekleştirilir. Duyarlık, işlenenlerin yuvarlandığı etki alanını ve işlemin gerçekleştirildiği etki alanını belirler. Açıkça belirtilen bir duyarlık olmadığında, bu tür işlemler Çift Duyarlık kullanılarak gerçekleştirilir.

  • Matematiksel işlemin sonucu hedef biçim için çok küçükse, işlemin sonucu pozitif sıfır veya negatif sıfır olur.

  • Matematiksel işlemin sonucu hedef biçim için çok büyükse, işlemin sonucu pozitif sonsuz veya negatif sonsuz olur.

  • Matematik işlemi geçersizse işlemin sonucu NaN olur.

  • Kayan nokta işleminin işlenenlerinden biri veya her ikisi de NaN ise, işlemin sonucu NaN olur.

Sayı değerleri için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x > y Büyüktür
x >= y Büyüktür veya eşittir
x < y Küçüktür
x <= y Küçüktür veya eşittir
x = y Equal
x <> y Not equal
x + y Sum
x - y Fark
x * y Ürün
x / y Bölüm
x ?? y Coalesce
+x Birli artı
-x Olumsuzlama

Sayı değerlerinin yerel türü, iç türüdür number.

Saat

Saat değeri , günün saatinin opak bir gösterimini depolar. Bir zaman, gece yarısından bu yana geçen 100 nanosaniyelik değer sayısını sayan ve 24 saatlik bir saatte geçen değer sayısı olarak kodlanır. Gece yarısından bu yana en fazla kene sayısı 23:59:59,9999999 saate karşılık gelir.

Zaman için değişmez söz dizimi olmasa da, bunları oluşturmak için birkaç standart kitaplık işlevi sağlanır. Zaman, iç işlevi #timekullanılarak da oluşturulabilir:

#time(hour, minute, second)

Aşağıdakiler tutulmalıdır veya neden koduyla Expression.Error ilgili bir hata oluşur:

0 ≤ saat ≤ 24
0 ≤ dakika ≤ 59
0 ≤ saniye ≤ 59

Buna ek olarak, saat = 24 ise, dakika ve saniye sıfır olmalıdır.

Saat değerleri için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x >= y Büyüktür veya eşittir
x > y Büyüktür
x < y Küçüktür
x <= y Küçüktür veya eşittir
x ?? y Coalesce

Aşağıdaki işleçler işlenenlerinden birinin veya her ikisinin tarih olmasına izin verir:

Operatör Sol İşlenen Sağ İşlenen Anlamı
x + y time duration Süreye göre tarih uzaklığı
x + y duration time Süreye göre tarih uzaklığı
x - y time duration Negatif süreye göre tarih uzaklığı
x - y time time Tarihler arasındaki süre
x & y date time Birleştirilmiş tarih saat

Yerel saat değerleri türü, iç türüdür time.

Tarih

Tarih değeri , belirli bir günün opak gösterimini depolar. Tarih, Gregoryen takvimde 1 Ocak 0001 Ortak Dönemi'nden başlayarak, dönem sonundan bu yana geçen gün sayısı olarak kodlanır. 31 Aralık 9999'a karşılık gelen, dönem 3652058 en fazla gün sayısıdır.

Tarihler için değişmez söz dizimi olmasa da, bunları oluşturmak için birkaç standart kitaplık işlevi sağlanır. Tarihler, iç işlevi #datekullanılarak da oluşturulabilir:

#date(year, month, day)

Aşağıdakiler tutulmalıdır veya neden koduyla Expression.Error ilgili bir hata oluşur:

1 ≤ yıl ≤ 9999
1 ≤ ay ≤ 12
1 ≤ gün ≤ 31

Ayrıca, gün seçilen ay ve yıl için geçerli olmalıdır.

Tarih değerleri için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x >= y Büyüktür veya eşittir
x > y Büyüktür
x < y Küçüktür
x <= y Küçüktür veya eşittir
x ?? y Coalesce

Aşağıdaki işleçler işlenenlerinden birinin veya her ikisinin tarih olmasına izin verir:

Operatör Sol İşlenen Sağ İşlenen Anlamı
x + y date duration Süreye göre tarih uzaklığı
x + y duration date Süreye göre tarih uzaklığı
x - y date duration Negatif süreye göre tarih uzaklığı
x - y date date Tarihler arasındaki süre
x & y date time Birleştirilmiş tarih saat

Tarih değerlerinin yerel türü, iç türüdür date.

DateTime

Tarih saat değeri hem tarih hem de saat içerir.

Tarih saatlerinin değişmez söz dizimi olmasa da, bunları oluşturmak için birkaç standart kitaplık işlevi sağlanır. Datetimes, iç işlevi #datetimekullanılarak da oluşturulabilir:

#datetime(year, month, day, hour, minute, second)

Aşağıdakiler tutulmalıdır veya Expression.Error neden koduyla bir hata oluşur: 1 ≤ yıl ≤ 9999
1 ≤ ay ≤ 12
1 ≤ gün ≤ 31
0 ≤ saat ≤ 23
0 ≤ dakika ≤ 59
0 ≤ saniye ≤ 59

Ayrıca, gün seçilen ay ve yıl için geçerli olmalıdır.

Tarih saat değerleri için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x >= y Büyüktür veya eşittir
x > y Büyüktür
x < y Küçüktür
x <= y Küçüktür veya eşittir
x ?? y Coalesce

Aşağıdaki işleçler işlenenlerinden birinin veya her ikisinin tarih saat olmasına izin verir:

Operatör Sol İşlenen Sağ İşlenen Anlamı
x + y datetime duration Süreye göre tarih saat uzaklığı
x + y duration datetime Süreye göre tarih saat uzaklığı
x - y datetime duration Devredilen süreye göre tarih saat uzaklığı
x - y datetime datetime Tarih saatleri arasındaki süre

Tarih saat değerlerinin yerel türü, iç türüdür datetime.

DateTimeZone

Datetimezone değeri bir datetime ve saat dilimi içerir. Saat dilimi, UTC'den dakika uzaklığı olarak kodlanır ve tarih saat bölümünün Evrensel Eşgüdümlü Saat'ten (UTC) uzak olması gereken dakika sayısını sayar. UTC'den en az dakika uzaklığı -840'tır ve utc uzaklığı -14:00 veya UTC'den on dört saat öncedir. UTC'den en fazla dakika uzaklığı 840'tır ve utc uzaklığı 14:00'a karşılık gelir.

Datetimezones için değişmez söz dizimi olmasa da, bunları oluşturmak için birkaç standart kitaplık işlevi sağlanır. Datetimezones da iç işlevi #datetimezonekullanılarak oluşturulabilir:

#datetimezone(
       year, month, day,
       hour, minute, second,
       offset-hours, offset-minutes)

Aşağıdakiler tutulmalıdır veya neden koduyla Expression.Error ilgili bir hata oluşur:

1 ≤ yıl ≤ 9999
1 ≤ ay ≤ 12
1 ≤ gün ≤ 31
0 ≤ saat ≤ 23
0 ≤ dakika ≤ 59
0 ≤ saniye ≤ 59
-14 ≤ uzaklık-saat ≤ 14
-59 ≤ uzaklık-dakika ≤ 59

Buna ek olarak, gün seçilen ay ve yıl için geçerli olmalı ve offset-hours = 14 ise offset-minutes <= 0 ve offset-hours = -14 ise offset-minutes >= 0 olmalıdır.

Datetimezone değerleri için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x >= y Büyüktür veya eşittir
x > y Büyüktür
x < y Küçüktür
x <= y Küçüktür veya eşittir
x ?? y Coalesce

Aşağıdaki işleçler işlenenlerinden birinin veya her ikisinin datetimezone olmasına izin verir:

Operatör Sol İşlenen Sağ İşlenen Anlamı
x + y datetimezone duration Süreye göre datetimezone uzaklığı
x + y duration datetimezone Süreye göre datetimezone uzaklığı
x - y datetimezone duration Devredilen süreye göre datetimezone uzaklığı
x - y datetimezone datetimezone Datetimezones arasındaki süre

Datetimezone değerlerinin yerel türü, iç türüdür datetimezone.

Süre

Süre değeri, zaman çizelgesindeki iki nokta arasındaki mesafenin 100 nanosaniyelik değerlerle ölçülen opak bir gösterimini depolar. Bir sürenin büyüklüğü pozitif veya negatif olabilir; pozitif değerler zaman içinde ilerlemeyi ifade eder ve negatif değerler zamanda geriye doğru ilerlemeyi ifade eder. Bir süre içinde depolanabilecek en düşük değer-9.223.372.036.854.775.808 değer veya 10.675.199 gün 2 saat 48 dakika 05.4775808 saniye geriye doğru. Bir süre içinde depolanabilecek en yüksek değer 9.223.372.036.854.775.807 değer veya 10.675.199 gün 2 saat 48 dakika 05.4775807 saniye ileri doğrudır.

Süreler için değişmez söz dizimi olmasa da, bunları oluşturmak için birkaç standart kitaplık işlevi sağlanır. Süreler, iç işlevi #durationkullanılarak da oluşturulabilir:

#duration(0, 0, 0, 5.5)          // 5.5 seconds 
#duration(0, 0, 0, -5.5)         // -5.5 seconds 
#duration(0, 0, 5, 30)           // 5.5 minutes 
#duration(0, 0, 5, -30)          // 4.5 minutes 
#duration(0, 24, 0, 0)           // 1 day 
#duration(1, 0, 0, 0)            // 1 day

Süre değerlerinde aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x >= y Büyüktür veya eşittir
x > y Büyüktür
x < y Küçüktür
x <= y Küçüktür veya eşittir
x ?? y Coalesce

Ayrıca, aşağıdaki işleçler işlenenlerinden birinin veya her ikisinin de süre değeri olmasına izin verir:

Operatör Sol İşlenen Sağ İşlenen Anlamı
x + y datetime duration Süreye göre tarih saat uzaklığı
x + y duration datetime Süreye göre tarih saat uzaklığı
x + y duration duration Sürelerin toplamı
x - y datetime duration Devredilen süreye göre tarih saat uzaklığı
x - y datetime datetime Tarih saatleri arasındaki süre
x - y duration duration Süre farkı
x * y duration number Sürenin N katı
x * y number duration Sürenin N katı
x / y duration number Sürenin kesri

Süre değerlerinin yerel türü, iç türüdür duration.

Metin

Metin değeri, Unicode karakter dizisini temsil eder. Metin değerleri, aşağıdaki dil bilgisi ile uyumlu bir değişmez değer biçimine sahiptir:

_text değişmez değeri:
      " text-literal-charactersopt "
text-literal-characters:
      text-literal-character text-literal-charactersopt
metin-değişmez-karakteri:
      tek metinli karakter
      character-escape-sequence
      çift tırnak-kaçış dizisi
tek metin karakterli:

      () veya # (U+0022U+0023) dışında " ve ardından ( (U+0028) gelen herhangi bir karakter
double-quote-escape-sequence:
      "" (U+0022, U+0022)

Aşağıda bir metin değeri örneği verilmiştir:

"ABC" // the text value ABC

Aşağıdaki işleçler metin değerlerinde tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x >= y Büyüktür veya eşittir
x > y Büyüktür
x < y Küçüktür
x <= y Küçüktür veya eşittir
x & y Bitiştirme
x ?? y Coalesce

Metin değerlerinin yerel türü, iç türüdür text.

İkilik

İkili değer bir bayt dizisini temsil eder.

İkili değerler için değişmez söz dizimi olmasa da, bunları oluşturmak için birkaç standart kitaplık işlevi sağlanır. İkili değerler, iç işlevi #binarykullanılarak da oluşturulabilir.

Aşağıdaki örnek, bayt listesinden bir ikili değer oluşturur:

#binary( {0x00, 0x01, 0x02, 0x03} )

İkili değerlerde aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x >= y Büyüktür veya eşittir
x > y Büyüktür
x < y Küçüktür
x <= y Küçüktür veya eşittir
x ?? y Coalesce

İkili değerlerin yerel türü, iç tür ikili türüdür.

Liste

Liste değeri, numaralandırıldığında bir değer dizisi oluşturan bir değerdir. Liste tarafından üretilen bir değer, liste de dahil olmak üzere herhangi bir türde değer içerebilir. Listeler aşağıdaki gibi başlatma söz dizimi kullanılarak oluşturulabilir:

list-expression:
      { item-listopt }
öğe-listesi:
      öğe
      öğe
, öğesi-listesi
madde:
      ifade
      ifade
.. ifadesi

Aşağıda, üç metin değerine sahip bir liste tanımlayan bir liste ifadesi örneği verilmiştir: "A", "B"ve "C".

{"A", "B", "C"}

Değer "A" listedeki ilk öğedir ve değer "C" listedeki son öğedir.

  • Bir listenin öğeleri erişilene kadar değerlendirilmez.
  • Liste söz dizimi kullanılarak oluşturulan liste değerleri öğeleri öğe listesinde göründükleri sırayla üretse de, genel olarak kitaplık işlevlerinden döndürülen listeler her numaralandırıldığında farklı bir küme veya farklı sayıda değer üretebilir.

Listeye a..b tamsayı dizisi eklemek için, form kullanılabilir:

{ 1, 5..9, 11 }     // { 1, 5, 6, 7, 8, 9, 11 }

Listedeki öğe sayısı (liste sayısı olarak bilinir) işlevi kullanılarak List.Count belirlenebilir.

List.Count({true, false})  // 2 
List.Count({})             // 0

Bir listede etkili bir şekilde sonsuz sayıda öğe olabilir; List.Count bu tür listeler tanımlanmamıştır ve hata verebilir veya sonlandırılmayabilir.

Listede öğe yoksa, boş liste olarak adlandırılır. Boş bir liste şöyle yazılır:

{}  // empty list

Listeler için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x & y Concatenate
x ?? y Coalesce

Örneğin:

{1, 2} & {3, 4, 5}   // {1, 2, 3, 4, 5} 
{1, 2} = {1, 2}      // true 
{2, 1} <> {1, 2}     // true

Yerel liste değerleri türü, öğesinin öğe türünü belirten iç türüdürlistany.

Kaydet

Kayıt değeri, sıralı bir alan dizisidir. Alan, kayıttaki alanı benzersiz olarak tanımlayan bir metin değeri olan alan adından ve alan değerinden oluşur. Alan değeri, kayıt da dahil olmak üzere herhangi bir tür değer olabilir. Kayıtlar aşağıdaki gibi başlatma söz dizimi kullanılarak oluşturulabilir:

kayıt-ifadesi:
      [ alan listesitercihi ]
alan-listesi:
      alan
      alan
, alanı-listesi
alan:
      alan adı
=ifadesi
alan-adı:
      genelleştirilmiş tanımlayıcı
      quoted-identifier

Aşağıdaki örnek, değeri ile adlı x bir alan ve değeri 1ile adlı y bir alan içeren 2bir kayıt oluşturur.

[ x = 1, y = 2 ]

Aşağıdaki örnek, iç içe kayıt değerine sahip a adlı alana sahip bir kayıt oluşturur. İç içe kayıt, değeriyle 2adlı b bir alana sahiptir.

[ a = [ b = 2 ] ]

Kayıt ifadesi değerlendirilirken aşağıdakiler geçerlidir:

  • Her alan adına atanan ifade, ilişkili alanın değerini belirlemek için kullanılır.

  • Bir alan adına atanan ifade değerlendirildiğinde bir değer üretirse, sonuçta elde edilen kaydın alanının değeri olur.

  • Bir alan adına atanan ifade değerlendirildiğinde bir hata oluşturursa, bir hatanın oluşturulduğu gerçeği, oluşturulan hata değeriyle birlikte alana kaydedilir. Bu alana daha sonra erişim, kaydedilen hata değeriyle bir hatanın yeniden yükseltilmesine neden olur.

  • İfade, üst ortam gibi bir ortamda değerlendirilir ve yalnızca kaydın başlatılmakta olan alan dışındaki her alanının değerine karşılık gelen değişkenler birleştirilir.

  • Kayıttaki bir değer, ilgili alana erişilene kadar değerlendirilmez.

  • Kayıttaki bir değer en fazla bir kez değerlendirilir.

  • İfadenin sonucu, boş meta veri kaydına sahip bir kayıt değeridir.

  • Kayıttaki alanların sırası, kayıt başlatıcısı-ifadesinde göründükleri sırayla tanımlanır.

  • Belirtilen her alan adının kayıt içinde benzersiz olması gerekir, aksi durumda bu bir hatadır. Adlar sıralı karşılaştırma kullanılarak karşılaştırılır.

    [ x = 1, x = 2 ] // error: field names must be unique 
    [ X = 1, x = 2 ] // OK

Alanları olmayan bir kayda boş kayıt adı verilir ve aşağıdaki gibi yazılır:

[] // empty record

Bir alana erişilirken veya iki kayıt karşılaştırılırken bir kaydın alanlarının sırası önemli olmasa da, kaydın alanlarının numaralandırılması gibi diğer bağlamlarda önemlidir.

Alanlar elde edildiğinde aynı iki kayıt farklı sonuçlar üretir:

Record.FieldNames([ x = 1, y = 2 ]) // [ "x", "y" ] 
Record.FieldNames([ y = 1, x = 2 ]) // [ "y", "x" ]

Bir kayıttaki alanların sayısı işlevi kullanılarak Record.FieldCount belirlenebilir. Örneğin:

Record.FieldCount([ x = 1, y = 2 })  // 2 
Record.FieldCount([])                // 0

Kayıt başlatma söz dizimini [ ]kullanmaya ek olarak, kayıtlar bir değer listesinden ve alan adları listesinden veya kayıt türünden oluşturulabilir. Örneğin:

Record.FromList({1, 2}, {"a", "b"})

Yukarıdakiler aşağıdakilere eşdeğerdir:

[ a = 1, b = 2 ]

Kayıt değerleri için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x & y Adres Mektup Birleştirme
x ?? y Coalesce

Aşağıdaki örneklerde yukarıdaki işleçler gösterilmektedir. Kayıt birleştirmenin, alan adlarında çakışma olması halinde, sol işlenendeki alanları geçersiz kılmak için sağ işlenendeki alanları kullandığını unutmayın.

[ a = 1, b = 2 ] & [ c = 3 ]    // [ a = 1, b = 2, c = 3 ] 
[ a = 1, b = 2 ] & [ a = 3 ]    // [ a = 3, b = 2 ] 
[ a = 1, b = 2 ] = [ b = 2, a = 1 ]         // true 
[ a = 1, b = 2, c = 3 ] <> [ a = 1, b = 2 ] // true

Kayıt değerlerinin yerel türü, açık boş alan listesini belirten iç türüdür record.

Tablo

Tablo değeri sıralı bir satır dizisidir. Satır, sıralı bir sütun değerleri dizisidir. Tablo türü tablodaki tüm satırların uzunluğunu, tablo sütunlarının adlarını, tablo sütunlarının türlerini ve tablo anahtarlarının yapısını (varsa) belirler.

Tablolar için değişmez söz dizimi olmasa da, bunları oluşturmak için birkaç standart kitaplık işlevi sağlanır. Tablolar, iç işlevi #tablekullanılarak da oluşturulabilir.

Aşağıdaki örnek, sütun adları listesinden ve satır listesinden bir tablo oluşturur. Sonuçta elde edilen tablo iki sütun type any ve üç satır içerir.

#table({"x", "x^2"}, {{1,1}, {2,4}, {3,9}})

#table tam tablo türünü belirtmek için de kullanılabilir:

#table(
    type table [Digit = number, Name = text],  
    {{1,"one"}, {2,"two"}, {3,"three"}} 
    )

Burada yeni tablo değeri, sütun adlarını ve sütun türlerini belirten bir tablo türüne sahiptir.

Tablo değerleri için aşağıdaki işleçler tanımlanır:

Operatör Sonuç
x = y Equal
x <> y Not equal
x & y Bitiştirme
x ?? y Coalesce

Tablo birleştirme, adlandırılmış sütunlar gibi hizalanır ve işlenen tablolardan yalnızca birinde görünen sütunlar için doldurulur null . Aşağıdaki örnekte tablo birleştirme gösterilmektedir:

  #table({"A","B"}, {{1,2}}) 
& #table({"B","C"}, {{3,4}})
A B C
1 2 null
null 3 4

Tablo değerlerinin yerel türü, sütun adlarını listeleyen, tüm sütun türlerini belirten ve anahtar içermeyen özel bir tablo türüdür (iç türünden tabletüretilir). (Şuraya gidin: Tablo türleriyle ilgili ayrıntılar için tablo türleri.)

İşlev

İşlev değeri , bir dizi bağımsız değişkeni tek bir değerle eşleyen bir değerdir. İşlev değerlerinin ayrıntıları İşlevler bölümünde açıklanmıştır.

Tür

Tür değeri, diğer değerleri sınıflandırır. Tür değerlerinin ayrıntıları Türler bölümünde açıklanmıştır.