• 02-11-2012, 21:57:43
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar ufak bir sorunum var sql komutları ile ilgili.

    phpmyadmin de çalışıyorum.

    aa diye bi databasem var bunun altında filmler adında bir tablom var bu tablonun içinde film_adi diye bir dikeçim var bunun içinde 5 adet film adı var diyelim.

    Bu film adlarını karakter sayılarına göre en büyüğünü sorgulatmak istiyorum ama bir türlü yapamadım.

    LEN fonksiyonu ile karakter sayısını öğrenip max fonksiyonu ile en büyüğünü almam gerekiyor bunu nasıl yapabiliriz ??

    Şimdiden teşekkürler yardımcı olacaklara.
  • 02-11-2012, 22:24:33
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    2 yoluda kullanabilirsin ama datalenght kullanmak daha kesin çözümdür.
    SELECT DATALENGTH(alan_adi) from tablo_adi
    SELECT max(len(alan_adi)) as maks
    from tablo_adi
  • 02-11-2012, 22:47:59
    #3
    rob33n adlı üyeden alıntı: mesajı görüntüle
    2 yoluda kullanabilirsin ama datalenght kullanmak daha kesin çözümdür.
    SELECT DATALENGTH(alan_adi) from tablo_adi
    SELECT max(len(alan_adi)) as maks
    from tablo_adi
    Hocam dediğiniz yöntemlerin ikiside olmadı :/ max ve len ile yapmak istiyorum öyle bende denemiştim ama olmamıştı. Acaba vermiş olduğum char değeri yanlışmı?

    icerik ve tablo şu şekilde:

    CREATE TABLE `filmler` (
      `id` int(2) NOT NULL default '0',
      `film_adi` char(20) default NULL,
      `yili` int(4) default NULL,
      `konusu` char(50) default NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    -- 
    -- Tablo döküm verisi `filmler`
    -- 
    
    INSERT INTO `filmler` VALUES (1, 'dabbe', 2012, 'korku adına hersey');
    INSERT INTO `filmler` VALUES (2, 'yarından sonra', 2005, 'aksiyon dolu bir film');
    INSERT INTO `filmler` VALUES (3, 'kasımda aşk başkadır', 2002, 'güzel bir aşk filmi');
    INSERT INTO `filmler` VALUES (4, 'mumya', 1999, 'gerilim dolu anlar');
    INSERT INTO `filmler` VALUES (5, 'çanakkale 1915', 2012, 'çanakkale zaferinin anlaıldığı film');
  • 03-11-2012, 17:15:47
    #4
    Arkadaşlar yardım edecek biri yokmu ?
  • 03-11-2012, 17:33:58
    #5
    Şunu bir dene bakalım.
    select max(len(cast(nvarchar(20), film_adi))) as maks
    from tablo_adi
  • 03-11-2012, 18:03:59
    #6
    Hocam malesef onuda çalıştırmıyor :/
  • 03-11-2012, 18:56:42
    #7
    Pardon ya cast değil, convert olucaktı.
    Ek olarak sen char değil nvarchar bile yapsan onu her türlü 20 karakter olarak alacaktır.
    Şu kesin çözümü verir tahminimce.
    select max(len(ltrim(rtrim(film_adi)))) from filmler
  • 03-11-2012, 19:55:17
    #8
    Hocam ne yazıkki o kodda olmuyor. olmayacak sanırım :/
  • 03-11-2012, 20:28:47
    #9
    Aynı tabloyu bende yaratıyorum sıkıntı çıkartmıyor.
    Ne hatası veriyor sende?