Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
MSSQL Server Hakkında Bilmek İstedikleriniz
#1
Merhabalar

Arkadaşlar MSSQL hakkında merak ettiğiniz her türlü sorunuzu alabilirim. Elimden geldiğince sizlere yardımcı olmaya çalışacağım
Cevapla
#2
(21-12-2016, Saat: 15:55)esrehmaan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhabalar

Arkadaşlar MSSQL hakkında merak ettiğiniz her türlü sorunuzu alabilirim. Elimden geldiğince sizlere yardımcı olmaya çalışacağım

MySQL ile ne farkı var en ayırıcı özelliği nedir, hangi duruma göre hangisini seçelim.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#3
Delphi de (TAM SAYI / TAM SAYI) ondalık sonuç döndürebiliyor..
MSSQL neden bunu yapamıyor ?

Dipçe; 1 saatimi yemişti bu saçmalık..
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#4
(22-12-2016, Saat: 02:54)barutali Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlDelphi de (TAM SAYI / TAM SAYI) ondalık sonuç döndürebiliyor..
MSSQL neden bunu yapamıyor ?

Dipçe; 1 saatimi yemişti bu saçmalık..

(TAM SAYI / TAM SAYI) örnek; 5/3=1,66666667 bu bir matematik kuralıdır.
MSSQL neden bunu yapamıyor ? Bilimsel kurallar Microsoft'u pek bağlamıyor. Kendi kurallarını koyuyor.
Bu arada Türkçe kullanım hassasiyetinizden dolayı tebrik ederim. (Dipçe;)
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#5
(22-12-2016, Saat: 08:36)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(22-12-2016, Saat: 02:54)barutali Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlDelphi de (TAM SAYI / TAM SAYI) ondalık sonuç döndürebiliyor..
MSSQL neden bunu yapamıyor ?

Dipçe; 1 saatimi yemişti bu saçmalık..

(TAM SAYI / TAM SAYI) örnek; 5/3=1,66666667 bu bir matematik kuralıdır.
MSSQL neden bunu yapamıyor ? Bilimsel kurallar Microsoft'u pek bağlamıyor. Kendi kurallarını koyuyor.
Bu arada Türkçe kullanım hassasiyetinizden dolayı tebrik ederim. (Dipçe;)

Merhaba,

TAM SAYI / TAM SAYI işleminin sonucu TAM SAYI'dır. Bu aslında bilimsel olarak da böyledir. Tam sayılar kümesinde yapılan işlemlerin hepsinin sonucu tam sayıdır. Eğer sonuç noktalı sayı olursa (FLOAT, DOUBLE, DECIMAL vs) derleyici sizin yerinize veri tipi değiştirmiş demektir. Veri tipi değiştirme, optimizasyon gibi sonucu değiştirmeyen bir işlem değildir ve hatta tam tersi programı yavaşlatan bir değişikliktir.

İyi çalışmalar
Cevapla
#6
(22-12-2016, Saat: 16:01)Bahadir.Alkac Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(22-12-2016, Saat: 08:36)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol(TAM SAYI / TAM SAYI) örnek; 5/3=1,66666667 bu bir matematik kuralıdır.
MSSQL neden bunu yapamıyor ? Bilimsel kurallar Microsoft'u pek bağlamıyor. Kendi kurallarını koyuyor.
Bu arada Türkçe kullanım hassasiyetinizden dolayı tebrik ederim. (Dipçe;)

Merhaba,

TAM SAYI / TAM SAYI işleminin sonucu TAM SAYI'dır. Bu aslında bilimsel olarak da böyledir. Tam sayılar kümesinde yapılan işlemlerin hepsinin sonucu tam sayıdır. Eğer sonuç noktalı sayı olursa (FLOAT, DOUBLE, DECIMAL vs) derleyici sizin yerinize veri tipi değiştirmiş demektir. Veri tipi değiştirme, optimizasyon gibi sonucu değiştirmeyen bir işlem değildir ve hatta tam tersi programı yavaşlatan bir değişikliktir.

İyi çalışmalar


Açıkçası bu dediğiniz bilimsel gerçeği hiç duymadım..
Float, Double ve Decimal de yavaşlatma hiç yaşamadım fakat Currency de yavaşlama görmüştüm.. Özellikle CurrtoStr ve StrToCurr da ..
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#7
İşlemci komut bazında integer, float, double fark var. Bu veritabanında hıza ne kadar yansır?
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#8
Bahse konu bölme işlemindeki davranış aslında C dilinin davranışı.

x = y / z gibi bir matematiksel işlemde, x değişkeninin türü ne olur ise olsun; y ve z'nin bir tamsayı olması durumunda sonuç da tamsayı olacaktır. y ya da z değişkenlerinden birisi dahi gerçel sayı ise bu durumda sonuç ondalıklı olacaktır. Sonucun y ve z'nin tipinden bağımsız olarak, ondalıklı çıkmasını garanti altına almak istiyor iseniz; CAST ya da CONVERT metodlarını kullanabilirsiniz. Örneğin;

declare 
@x float,
@y int,
@z int

set @y = 1
set @z = 4

set @x = cast(@y as float) / cast(@z as float)

select @x

ya da daha basit bir şekilde aşağıdaki gibi bir kullanım da işe yarayacaktır:

declare 
 @x float,
@y int,
@z int

set @y = 1
set @z = 4

set @x = (@y * 1.0 / @z * 1.0)

select @x
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#9
(22-12-2016, Saat: 22:45)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBahse konu bölme işlemindeki davranış aslında C dilinin davranışı.

x = y / z gibi bir matematiksel işlemde, x değişkeninin türü ne olur ise olsun; y ve z'nin bir tamsayı olması durumunda sonuç da tamsayı olacaktır. y ya da z değişkenlerinden birisi dahi gerçel sayı ise bu durumda sonuç ondalıklı olacaktır. Sonucun y ve z'nin tipinden bağımsız olarak, ondalıklı çıkmasını garanti altına almak istiyor iseniz; CAST ya da CONVERT metodlarını kullanabilirsiniz. Örneğin;

declare 
@x float,
@y int,
@z int

set @y = 1
set @z = 4

set @x = cast(@y as float) / cast(@z as float)

select @x

ya da daha basit bir şekilde aşağıdaki gibi bir kullanım da işe yarayacaktır:

declare 
 @x float,
@y int,
@z int

set @y = 1
set @z = 4

set @x = (@y * 1.0 / @z * 1.0)

select @x

2. kullanım şekli ile çözmüştüm.. Peki hocam sizce Delphi' ın yaptığı mı doğru? Yoksa C nin mi ?
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#10
Ben bir Delphi sever olarak Delphi'nin yaptığı doğru demek isterdim. Ama mantıken baktığımızda, iki değişken (bölen ve bölünen) birer tamsayı ise bu durumda programcı tamsayı bir sonuç istiyordur diye düşünmek de bir yaklaşım aksini düşünmek de. Delphi akıllıca davranıp, her zaman altta programcıları yormayıp bir çok işi kendisi hallediyor. Ondalıklı sayı aritmetiği CPU için biraz zor bir aritmetiktir, bu bağlamda programcı bilerek ve isteyerek bu işi yapmıyacak ise bu işin default'unun C'nin yaptığı gibi olması gerekir kanaatini taşıyorum. Matematiksel olarak sonuc 1/4 için 0.25'dir evet ama 1 ve 4 birer tamsayı olarak tanımlandı ise performans adına sonucun 0 olması gerekir. Programcı ondalıklı sonuçlar arzuluyor ise her iki tarafıda ondalıklı bir veri tipi ile sarmalamalıdır ki derleyici en başta ilgili optimizasyonları yapabilsin.

 Ama Delphi bu, arka planda bütün pis işleri bizim için hallediverir Smile C/C++ gibi değil Wink C/C++'da bu iş için casting yapmanız icap eder. Doğrusu hangisi peki ? Bu sorunun yanıtı su götürür. İşlemci performansı için doğrusu C/C++'ın yaptığı gibi görünüyor.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQL Self Join Yöntemi Hakkında adelphiforumz 7 152 20-07-2018, Saat: 09:55
Son Yorum: adelphiforumz
  SQl Server içinde değere göre kontrol yapmak Bay_Y 5 243 22-05-2018, Saat: 23:01
Son Yorum: elixir84
  MSSQL Sistem Taşıması Hakkında adelphiforumz 8 357 21-04-2018, Saat: 02:30
Son Yorum: FiRewaLL
  SQL üzerinde Pivot içindeki in Kullanımı hakkında adelphiforumz 10 457 19-03-2018, Saat: 21:38
Son Yorum: FiRewaLL
  SQL Server Üzerinden Kümülatif Toplam Gösterimi adelphiforumz 4 360 16-03-2018, Saat: 09:15
Son Yorum: esistem



Konuyu Okuyanlar: 1 Ziyaretçi