Visual Basic® .NET ile Veritabanlarını Yönetme kitabından yazar McManus Geoffrey P

TOPLA işlevi Özetleme yetenekleriniz yalnızca kayıtları saymakla sınırlı değildir. TOPLA işlevini kullanarak, herhangi bir sayısal alan için döndürülen tüm kayıtlar için özet sonuçlar oluşturabilirsiniz. Örneğin, toplamları oluşturan bir sorgu oluşturmak için

Kurgu Kitabı Tasarımcısı Hızlı Kılavuzundan yazar yazar bilinmiyor

Kurgu Kitap Tasarımcısı 3.2'den. Hızlı rehber yazar Izekbis

uni() işlevi Bir karakteri unicode numarasına göre bulma/değiştirme, uni() işlevi kullanılarak da yapılabilir.uni() işlevine bir örnek: Boouni(107,32)Designer, Kitap kelimesini bulacaktır.

UNIX: Süreç Etkileşimi kitabından yazar Stephen William Richard

pthread_rwlock_init işlevi İlk işlev olan pthread_rwlock_init, okuma-yazma kilidini dinamik olarak başlatır. Metni Liste 8.2.7-8'de gösterilmektedir.Öznitelik atamaları bu işlevle desteklenmez, bu nedenle öznitelik işaretçisinin boş olduğunu kontrol ederiz.9-19 Biz

XSLT kitabından yazar Holzner Stephen

sem_open İşlevi Liste 10-22, yeni bir semafor oluşturan veya mevcut bir semaforu açan sem_open işlevinin metnini gösterir Liste 10-22. sem_open//my_pxsem_fifo/sem_open.c1 işlevi #include "unpipc.h"2 #include "semaphore.h"3 #include /* isteğe bağlı bağımsız değişken listesi için */4 mysem_t *5 mysem_open(const char *yoladı, int

XSLT Teknolojisi kitabından yazar Valikov Alexey Nikolaevich

sem_close İşlevi sem_close işlevinin metni Liste 10.23.11-15'te gösterilmiştir.Her iki tanıtıcıyı da kapatıyoruz ve sem_t türü için ayrılan belleği boşaltıyoruz Liste 10.23. sem_close//my_pxsem_fifo/sem_close.с1 işlevi #include "unpipc.h"2 #include "semaphore.h"3 int4 mysem_close(mysem_t *sem)5 (6 if (sem->sem_magic != SEM_MAGIC) (7 errno =

PGP kitabından: Açık Anahtar Bilgilerini Kodlama ve Şifreleme. yazar Levin Maxim

concat() concat işlevi, kendisine iletilen tüm dizeleri birleştirir ve sonuç dizesini döndürür: concat(string string1, string string2, ...)

Kurgu Kitap Tasarımcısı 3.2'den. Yazarın Kitap Oluşturma Rehberi

Kriptografiye Giriş kitabından yazar Philipp Zimmermann

Kitaptan PascalABC.NET Dilinin Açıklaması yazar RuBoard Ekibi

yazarın kitabından

yazarın kitabından

yazarın kitabından

Özet fonksiyonu. PGP kullanmanın bir diğer önemli avantajı, PGP'nin "hash fonksiyonu" olarak adlandırılan bir bilgi kullanmasıdır; bu, bilgide bir bit bile olsa herhangi bir değişiklik olması durumunda "hash fonksiyonunun" sonucunun olacağı şekilde çalışır. tamamen

yazarın kitabından

uni() işlevi Bir karakteri unicode numarasına göre bulma/değiştirme, uni() işlevi kullanılarak da yapılabilir.uni() işlevine bir örnek: Boouni(107,32)Designer, Kitap kelimesini bulacaktır.

yazarın kitabından

Hash işlevi Bununla birlikte, yukarıda açıklanan şemanın bir dizi önemli dezavantajı vardır. Son derece yavaştır ve çok fazla veri üretir - orijinal bilgi miktarının en az iki katı. Böyle bir plandaki iyileştirme, dönüşüm sürecine giriştir.

yazarın kitabından

Yöntem Concat Yöntemlerin açıklaması Yöntemler, T dizisi dizisi için verilmiştir. function Concat(ikinci: T dizisi): T dizisi; İkinciyi birincinin sonuna ekleyerek ve sonucu döndürerek iki diziyi birleştirir


bu makalenin yayınlanmasına yalnızca makalenin yazarının sitesine bir bağlantı ile izin verilir

MySQL'de GROUP_CONCAT().
Bugün Mysql'deki ilginç bir özellikten bahsetmek istiyorum.
Anlaşıldı ki, çok az programcı bunu biliyor, neden çok az insan kullanıyor bilmiyorum ama bir düzine arkadaşımla görüştüm ve yarısından azı bunu biliyordu. GROUP_CONCAT.
Bu fonksiyon şöyle çalışır CONCAT_WS(Dizeleri bir sınırlayıcıyla birleştirir), yalnızca farklı olarak CONCAT_WS bir tablodan yapılan seçimin sonuçlarını birleştirebilme.

Sözdizimi
GROUP_CONCAT( ifade [,ifade ...]
[,sütun_adı ...]]
)

Size evcil hayvanlarla ilgili ortak bir örnek vereyim.
Örneğin, her kişiye sahip olduğu hayvanın verildiği bir tablo vardır.

TABLO OLUŞTUR 'testi' (
`id` int(11) NULL DEĞİL auto_increment,
`name` varchar(250) NULL DEĞİL, # kişinin adıdır
`pet` varchar(250) NULL DEĞİL, # bu bir evcil hayvan
BİRİNCİL ANAHTAR ("id")
);

Tablodaki veriler bu şekilde
maşa - papağan
ışık - kedi
maşa - hamster
Julia - köpek
ışık - köpek
maşa - balık

Bu tablodan anlaşılacağı üzere
Masha'nın bir papağanı, hamsteri ve balığı var.
Sveta'nın bir kedisi ve bir köpeği var.
Ve Julia'nın sadece bir köpeği var.
Yani masadaki tüm insanları gösterme görevi var ve böylece her birinin yanında hangi hayvanlara sahip olduğu gösteriliyor.

Şöyle bir istek yapalım
"evcil hayvan" olarak "isim", GROUP_CONCAT("evcil hayvan") SEÇİN
"test" ten
"ad" TARAFINDAN GRUPLA

sonuç böyle
Masha - papağan, hamster, balık
ışıklar - kedi, köpek
Julia - köpek

Her insanın tüm hayvanlarının birliği ortaya çıktı.
"ad" TARAFINDAN GRUPLA sonunda aynı adları gruplandırır, yinelenenleri atar diyebiliriz.

Elbette örnek çok önemli değil, bu tür gereksiz veriler sıklıkla bulunmaz, genellikle isimler bir tabloda, hayvanlar ikinci tabloda ve bağlantılar üçüncü tabloda saklanır.
Bu sadece böyle bir durum için ve faydalı olacaktır. GROUP_CONCAT().
İç içe sorgu ile bir örnek vereceğim.


("test"ten "evcil hayvan" olarak GROUP_CONCAT("evcil hayvan") öğesini seçin, burada "ad" = "ad1")"evcil hayvan" olarak
"test" ten

Bu örnek, bir hayvan açılan kutusu oluşturmak için iç içe geçmiş bir seçim kullanır...
BELİRGİNözdeş isimleri atar. Alan isim iç içe sorguda doğru şekilde adreslenebilmesi için yeniden adlandırıyoruz.
Bu örnek zaten daha çok hayattan bir örnek gibi.
İsimler görüntülenir, özdeş olanlar atılır, her isim için bir hayvan listesi çıkarılır.
Her şey çok basit. Her ismi almanıza ve ardından her isim için hayvanları çekmenize gerek yok, hepsi tek bir istekte yapılır.

Ve şimdi bu zorlu GROUP_CONCAT hakkında daha fazla bilgi.

Sınırlayıcı.
Varsayılan ayırıcı virgüldür.
Gerekirse farklı bir ayırıcı belirtebilirsiniz.

DISTINCT `isim`i `isim1` olarak SEÇİN,
('test'ten 'pet' olarak GROUP_CONCAT('pet' SEPARATOR "::") öğesini seçin, burada "ad" = "ad1")"pet" olarak
"test" ten

Artık hayvanlar virgülle değil, çift kolonla ayrılacak ( :: )

Ve bu işlevin geri kalan olasılıkları, açıklanan sözdiziminden açıktır (aynı kayıtları sıralama ve hariç tutma).

Birkaç hayal kırıklığı.

1024 sınırı.
Bu işlevin çıktı verisi miktarında bir sınırı vardır.
Varsayılan, birleştirme başına - çıktı satırı başına 1024 karakterdir.
Yapıştırılan verilerin boyutu daha büyükse, kesilecektir.
Boyutu genişletmek için komutu çalıştırmanız gerekir. group_concat_max_len =4096;
Ayrıcalıklarınız varsa, alınan veri miktarını 4096'ya ve daha fazlasına çıkaracaksınız.
Ancak çoğu zaman normal barındırmada böyle bir ayrıcalık yoktur.

Sadece yazı.
Sonraki Özellik GROUP_CONCAT yalnızca dizelerle çalışır.
Sayıları birbirine yapıştırmak istiyorsanız, başaramazsınız, sayıyı metne dönüştürmeniz gerekir.

Diyelim ki hayvanları değil, bir kimlik listesi almak istiyorsunuz.
Her zamanki seçenek çalışmaz, sayıyı metne dönüştürmeniz gerekir, örneğin bunun gibi

DISTINCT `isim`i `isim1` olarak SEÇİN,
('test'ten CONVERT(GROUP_CONCAT('id') USING cp1251) öğesini seçin, burada 'ad' = 'ad1')'pet_id' olarak
"test" ten

İşte ilginç bir özelliğe genel bir bakış GROUP_CONCAT().
Bilgi için kullanmak en iyisidir, sınırda belirlenenden daha fazla veri olabileceğinden, kesinlikle tüm verileri alacağınız gerçeğine güvenmemelisiniz.
Örneğin, sayfada bir ürün listesi görüntülersiniz.
Her öğenin bir fiyatı, bulunabilirliği, ağırlığı ve kısa bir açıklaması vardır. Ve burada, örneğin, her ürün için bu ürünün hangi renklerde mevcut olduğunu gösterebilirsiniz.
Bu sayfada bir çok ürün görüntülendiği için bu nedenle ürünle ilgili ek bilgiler kısa ve öz bir şekilde gösterilmeli ve burada ürünün hangi renklerde olduğu bilgisini kaydırabilirsiniz. Örneğin, bu ürünün en popüler 5 rengini görüntüleyin.
Açıkçası, sayfada 20 ürün gösteriliyorsa, o zaman her ürün için 1024 karakterden daha büyük renkler hakkında hiçbir zaman bilgi göstermezsiniz, sayfayı yeniden yüklemenin bir anlamı yoktur.
İşte böyle yerlerde kullanmak mantıklı GROUP_CONCAT().

Yorumlar

27.11.2008 Eugene
Kötü bir soğuk değil

07.12.2008 Viyola
Harika bir fırsat. Bunu biliyordum ama bir kısıtlama olduğunu bilmiyordum. Neden metne dönüştürüldüğü net değil? Sadece bir kimlik listem var ve dönüşüm yok.

07.12.2008 Vadim
Viola, ID'lerin metin alanlarında saklanmış olmalı.
Tabandaki alanın sayısal bir türü varsa, bu işlev dönüştürme olmadan hiçbir şey göstermez ... Metne dönüştürülmesi gerekir.

07.12.2008 Viyola
Hayır, bir kimlik alanım vardı - int (11), otomatik artış, birincil anahtar. Belki de gerçek şu ki, seçimden sonra örtük bir metne dönüştürme yapıyorum - sonucu dizeye yapıştırıyorum. Ancak seçimin kendisinde böyle bir şey yoktur ve istenen sonucu verir.

24.12.2008 Vadim
Pekala, sorunun ne olduğunu söylemek zor, belki de bunun nedeni sadece örtük din değiştirmelerinizdir...
Ama ben kendim mysql'in üç farklı sürümünü kontrol ettim ve metne dönüştürmek gerekiyor, aksi takdirde bir değer değil, alan hakkında bazı bilgiler veriyor.

24.02.2009 Sergio
Viola konuyu konuşuyor, ben de normal olarak Int çıktısı alıyorum. Sürüm 5.1

04/24/2009 Gümer
TEŞEKKÜR EDERİM!!!

Çok gerekliydi.

06/16/2009 Nigina
Her şeyi doğru kopyalamama rağmen bir hatam var;)

18.10.2009 tyman8992
mysql 5.0.51b, InnoDB tablosu - INT(11) dönüştürmesi gerekli, şimdi kontrol edildi.

21.10.2009 Artur
Teşekkür ederim.
Sonucun Excel'deki bir pivot tabloya benzer bir biçimde görüntülendiği ortaya çıktı.

21.12.2009 Semyon
Yol boyunca başka bir özellik daha var.
Birliğin sonucu 255'ten büyük olamaz. Bu üzücü :(

21.12.2009 yönetim
255 yeterli değil, belki 1024?

19.01.2010
m birden fazla alanı birleştirebilir ve bir sınırlayıcı ekleyebilirsiniz
örneğin iyi çalışıyor
msisdn tarafından y2009 grubundan msisdn, group_concat(hafta,"=",haftaya göre şarj etme sırası) seçin
380xxxxxxxxxx 40=8,41=4,44=8,45=8,46=4,47=1,50=8,51=9,52=4,53=1

03/09/2010 Dmitry
Ama sorguyu alamıyorum

product.id,title, catid, GROUP_CONCAT(`idSpecific`) öğesini "spesifik" OLARAK SEÇİN
"ürün"den
SOL JOIN `specation_items`i product.id = idProduct AÇIK
WHERE catid =46 GRUP BY başlığa göre

Sonuca özel

03/09/2010 yönetim
bu işlev yalnızca dizelerle çalışır.
ve sizin durumunuzda büyük olasılıkla bir sayı işleme var.
verileri bu şekilde dönüştürmeniz gerekir
CONVERT(GROUP_CONCAT(`idSpecific`) cp1251 KULLANARAK)

03/24/2010 Dmitry
çok teşekkür ederim değiştim :)

25.03.2010 AJ
İç içe seçimlerden kaçınmanın bir yolu var mı? bir sorguda birkaç yüz (bin) kayıt görüntülemeniz gerekirse, aynı sayıda iç içe geçmiş sorgu olacaktır.

26.03.2010 Galip
Ancak JOIN aracılığıyla iç içe seçimlerden kaçınmak mümkün değil mi?
bir sorguda birçok satır seçildiğinden, birleştirme muhtemelen burada yardımcı olmayacaktır ...
muhtemelen bunu iç içe selekta yapmadan yapamazsınız.

05/24/2010 USVR
Güzel özellik! Bisikletin icadından ve kendi serileştirilmesinden kaçınmaya yardımcı oldu.

AJ'e, Ve burada, ne derse desin, bir alt sorgu gerekiyor. Tek soru, bu alt isteği kimin gerçekleştireceğidir - istemci veya sunucu. Tabii ki, "alt sorgu" terimini kullanmak tamamen doğru değil, emin değilim, ancak büyük olasılıkla sunucuda tüm harici istek için aynı anda yalnızca bir alt sorgu seçimi olacaktır, bu da uygulanması imkansızdır. müşteri.
Ne yazık ki bir sınırlama var. Genellikle anlamsızdır ve yalnızca bir şeyden korunma ölçüsü olarak haklı çıkar (Arabellek taşması?).

05/24/2010 USVR
Muhtemelen yanlış ifade etti
Sunucuda optimizasyon mümkündür (bu, tüm toplu işlevlerin özüdür).
Bu işlevin tam olarak nasıl optimize edildiğini bilmiyorum, ancak istemcide veri işlemeden daha az kaynak gerektirdiği açık.

Concat (Str1,Str2,...,StrN) işlevi, Str1,Str2,...,StrN dizelerini parametre listesinde belirtilen sırayla birleştirir (veya birleştirir). Tüm birleştirilmiş dizelerin karakterlerinin toplamı 255'i geçmemelidir.

Program DemoFunctionConcat; VarKelime:dize; Word1, Word2: dizi; Word1'e Başlayın:= "şirketler"; Word2:="Microsoft"; Kelime:= Concat("Bilgisayarlar ",Kelime1,Kelime2); yaz(Kelime); ("Microsoft Computers" metni görüntülenir) Bitiş.

Bağımsız çözüm için görevler

    “a” ile biten 1. çekim isim verilir. Girişin doğru olup olmadığını kontrol edin. Her durumda bu kelimeyi yazdırın. Alt programları uygulayın.

    Metinde "cha" ve "cha" yazımını kontrol edin. Yapılan hataların sayısını ve düzeltilen satırı yazdırın. Alt programları uygulayın.

    Belirli bir x sözcüğünde belirli bir y kelimesinin kaç kez geçtiğini sayan bir algoritma yazın. y kelimesi x'ten uzunsa, sonuç sıfır olmalıdır. Alt programları uygulayın.

    Verilen metinde alfabenin her harfinin kaç kez geçtiğini öğrenin. Alt programları uygulayın.

    A satırını ters sırayla b satırına yazın. Bu satırlarda aynı yerlerde kaç tane özdeş harf olduğunu sayın. Alt programları uygulayın.

    Öğrencinin soyadı, adı ve soyadı bir boşlukla ayrılarak verilir. Soyadını ve baş harflerini yazdırın. Alt programları uygulayın.

    Metinde "zhi" ve "shi" yazımını kontrol edin. Yapılan hataların sayısını ve düzeltilen satırı yazdırın. Alt programları uygulayın.

    Özel bir teklif ve bir isim isteyin. Yazım hatalarını arayın ve düzeltin. Yapılan hataların sayısını ve düzeltilen satırı yazdırın. Alt programları uygulayın.

    Verilen karakter dizisindeki basamak sayısını sayın. Alt programları uygulayın.

    Girilen karakter dizisindeki harflerin sayısını sayın. Alt programları uygulayın.

Bir dizide verilen karakterlerden kaçının geçtiğini öğrenmek için birden fazla karakteri ve bir diziyi sorgulayın. Alt programları uygulayın.

Dizelerle çalışmak için standart prosedürler (delete, insert, str, val).

Prosedür Ekleme

Insert yordamı, belirtilen konumdan başlayarak kaynak dizeye başka bir dize ekler. Insert (Word1,Word2,5) deyimi, Word1 dizesinin Word2 dizisine 5. konumdan başlayarak eklenmesi gerektiğini belirtir.

Silme Prosedürü

Silme yordamı, belirtilen konumdan başlayarak kaynak dizeden belirli bir uzunluktaki bir parçayı kaldırır. Böylece, Sil(Word1,2,3) operatörü, ikinciden başlayarak belirtilen dizgeden üç karakterlik bir parçayı kaldırır.

Prosedür Sok.

Str(Chislo,Stroka)'nın genel görünümü

Str yordamı, Chislo değişkeninin sayısal değerini Stroka dize değişkenine dönüştürür. İlk parametreyi çıkış formatına benzer bir format takip edebilir.

Program DemoProcedureStr; VarKelime:dize; sayı: tamsayı; BaşlangıçSayısı:= 1560; Str(Sayı:8, Kelime); yaz(Kelime); (" 1500" dizisi görüntülenir) Bitiş.

prosedürval

Genel biçim Val(Stroka, Chislo, Code)

Val yordamı, bir Stroka'nın değerini bir tam sayıya veya gerçek değere dönüştürür ve sonucu Chislo'ya yerleştirir. Stroka dize değişkeninin değeri, başında ve sonunda boşluk içermemelidir. Kod bir tamsayı değişkenidir. Dönüştürme işlemi sırasında herhangi bir hata bulunmazsa Code değeri sıfır olur, bir hata bulunursa Code ilk hata karakterinin konum numarasını içerecek ve Chislo değeri tanımsız olacaktır.

Program DemoProcedureVal; VarKelime:dize; Sayı, Kod: tamsayı; Begin writeln("Bir sayı dizisi giriniz"); readln(Kelime); Val(Kelime, Sayı, Kod); (dizeyi sayıya dönüştür) eğer Kod<>0 sonra writeln("Hata! Konum ",Kod," bir sayı değil!",); son.

Dizeleri birleştirmenizi sağlar. İşlev çağrısı şöyle görünür:

concat(s 1 ,s 2 ,…,s n)

Örnek 6.9.İki diziyi birleştirmek için bir program.

programı prog6_9;

kullanır wincrt;

s:=concat(s1,s2);

prosedür ekle

Bir dizenin içine bir dize ekler.Yordam çağrısı şöyle görünür:

ekle(st1,st2,n)

burada st1 eklenecek dizedir

st2 - st1 satırının eklendiği satır

n, eklemenin başladığı konumdur.

Örnek 6.10. Bir diziye bir dizi eklemek için bir program.

programı Prog6_10;

kullanır wincrt;

ekle(st1,st2,n);

Prosedür Sok.

Sayıları bir dizeye dönüştürmenizi sağlar. Prosedür çağrısı şöyle görünür:

dizi( Sayı, st);

burada st, bir sayının görüntüsünü içeren bir dizi sabiti veya değişkenidir;

Sayı - değişken, sayısal değer bir diziye dönüştürülür ve st değişkenine atanır;

Örnek 6.11. Bir sayıyı dizgeye çeviren program.

programı Prog6_11;

kullanır WinCrt;

readln(n); (Sayı girişi)

dizi(n,st); (sayı dönüştürme n dizesi)

writeln("resim sayısı =",st);

Kontrol soruları

1. Dizi nedir?

2. Dizi tipi verileri hangi tanımlayıcı tanımlar?

3. Mümkün olan maksimum dizi uzunluğu nedir? akım nasıl belirlenir

IP uzunluğu?

4. Hangi ifadelere string denir?

5. Dizi verilerinde hangi işlemlere izin verilir?

6. Dizeler nasıl karşılaştırılır?

7. İşlenenlerle ifade yazmak için gereksinimler nelerdir?

dize ve değişmez tür?

8. Bir dizideki tek tek karakterlere nasıl erişebilirsiniz?

9. Özel prosedürlerin amacı ve veri işleme fonksiyonları

dize türü. Örnekler ver. \

Veritabanlarıyla çalışmak, sürekli olarak sorguların sonuçlarını elde etmekle ilişkilendirilir. Ve bazı durumlarda, bu bilgilerin belirli bir şekilde görüntülenmesi veya diğer verilerle birleştirilmesi gerekir. Bu sorunu çözmek için bir SQL işlevi var - CONCAT.

CONCAT işlevi ne yapar?

Bazı çalışmalar yapılırken, satırları ek verilerle veya birbirleriyle bağlamaya ihtiyaç vardır. Bu sorunu çözmek için bir SQL işlevi var - CONCAT. Kullanırken, iki veya daha fazla satır bir satırda birleştirilecektir. Bu durumda, dizi birleştirme işlemi hem dizilerle hem de sayısal değişkenlerle çalışırken doğru şekilde gerçekleştirilecektir.

Bazı veritabanlarında, SQL CONCAT'in birkaç çeşidi vardır. Yani, MySQL'de kendi analogu var - CONCAT_WS. İşlevler arasındaki fark önemli değildir: birinci durumda, değeri NULL olan bir bağımsız değişkenle birleştirildiğinde, birleştirmenin sonucu NULL olacaktır ve birliğin ikinci değişkenini kullanırken, sıfır işleneni olacaktır. basitçe atlanır.

İşlev Sözdizimi

CONCAT işlevini kullanırken, SQL sözdizimi, programcının bağımsız değişkenleri işlenenlerin birleştirileceği sırayla kullanmasını zorunlu kılar. Dize birleştirme işleminin kendisinin sözdizimi oldukça basittir: CONCAT anahtar sözcüğünden sonra, gerekli tüm bağımsız değişkenler veya dizeler virgülle ayrılmış parantez içinde ve gerekirse kapanış parantezinden sonra, AS anahtar sözcüğü ve değişkenin adı burada belirtilir. sonucun yazılacağı belirtilir. CONCAT işlev şablonu şöyle görünür:

BİRLEŞTİR (satır1, satır2 [, satır3, ...]) .

Hem sayısal hem de dizi değerinin işleneninin ve sonuç döndüren bazı işlevlerin işlev argümanları olarak kullanılabileceğini belirtmekte fayda var. Örneğin, SQL CONCAT işleminin kendisi. Böylece işlem yuvalama ilkesini destekler.

CONCAT kullanmadan nasıl yapılır?

İşlemi kullanmaktan kaçınma ihtiyacı olduğunda veya programcı CONCAT işlevinin farkında olmadığında SQL, dize birleştirme uygulamak için başka bir seçenek sunar. Bunu yapmak için "+" operatörünü kullanmanız gerekir, ancak bu yaklaşımın, onunla çalışırken dikkate alınması gereken bir takım özellikleri vardır.

"+" işlevini kullanırken, işlenenler sayısal değerler ise, işlemin sonucu sıradan bir sayı toplaması olacaktır ve gerekirse, bir sayıyı açık dönüştürme olmadan bir dizeyle birleştirin, program bir hata üretecektir. Böylece, aşağıdaki sorgu yürütüldüğünde, sonuç "6" sayısının değeri olacaktır:

Aksi takdirde, her iki yöntem de aynıdır ve aynı sonucu verir.