folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Mysql'de Tüm Kelimelerin Baş Harfleri Büyültmek



Mysql'de Tüm Kelimelerin Baş Harfleri Büyültmek

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    prokto
    prokto's avatar
    Kayıt Tarihi: 03/Ocak/2006
    Erkek

    Arkadaşlar merhabalar,

    Sql de bir tablomda ürünler var ( 64k kadar ) , bunların isimleri girişleri yapılırken büyük küçük harf rastgele girilmiş. Ben bunları mysql tarafında hepsinin baş harfi büyük kalanları küçük harfli yapmak istiyorum. 

    Elimdeki string böyle : 
    "samsung galaxy note 4 n910 orj orta kasa arka kapak beyaz"

    Ben bunu şu hale getirmek istiyorum;
    "Samsung Galaxy Note 4 N910 Orj Orta Kasa Arka Kapak Beyaz"

     

    bulduğum bazı fonksiyonlar var ama bunları da açıkçası çalıştıramadım, şu mesela https://paste.ee/p/0miwQ
    Durum böyle arkadaşlar, yardımlarınızı rica ederim.


    Bu imza çok eskidi artık...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AslanAmca
    AslanAmca's avatar
    Kayıt Tarihi: 25/Eylül/2010
    Erkek
    DELIMITER ||  
    
    CREATE FUNCTION `UC_Words`( str VARCHAR(255) ) RETURNS VARCHAR(255) CHARSET utf8 
    BEGIN  
      DECLARE c CHAR(1);  
      DECLARE s VARCHAR(255);  
      DECLARE i INT DEFAULT 1;  
      DECLARE BOOL INT DEFAULT 1;  
      DECLARE punct CHAR(17) DEFAULT ' ()[]{},.-_!@;:?/';  
      SET s = LCASE( str );  
      WHILE i < LENGTH( str ) DO  
         BEGIN  
           SET c = SUBSTRING( s, i, 1 );  
           IF LOCATE( c, punct ) > 0 THEN  
            SET BOOL = 1;  
          ELSEIF BOOL=1 THEN  
            BEGIN  
              IF c >= 'a' AND c <= 'z' THEN  
                 BEGIN  
                   SET s = CONCAT(LEFT(s,i-1),UCASE(c),SUBSTRING(s,i+1));  
                   SET BOOL = 0;  
                 END;  
               ELSEIF c >= '0' AND c <= '9' THEN  
                SET BOOL = 0;  
              END IF;  
            END;  
          END IF;  
          SET i = i+1;  
        END;  
      END WHILE;  
      RETURN s;  
    END ||  
    
    DELIMITER ; 

     

    bu fonksiyonu ekle, sonra : SELECT UC_Words(title) FROM `products`;

    seklinde çek, denedim localde çalışıyor

    kaynak : https://stackoverflow.com/questions/4263272/capitalize-first-letter-mysql

     


    İnsanlara umut sat gerisi gelir.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    prokto
    prokto's avatar
    Kayıt Tarihi: 03/Ocak/2006
    Erkek

    Teşekkür ederim dostum çalıştı :)

    nevorapat bunu yazdı
    DELIMITER ||  
    
    CREATE FUNCTION `UC_Words`( str VARCHAR(255) ) RETURNS VARCHAR(255) CHARSET utf8 
    BEGIN  
      DECLARE c CHAR(1);  
      DECLARE s VARCHAR(255);  
      DECLARE i INT DEFAULT 1;  
      DECLARE BOOL INT DEFAULT 1;  
      DECLARE punct CHAR(17) DEFAULT ' ()[]{},.-_!@;:?/';  
      SET s = LCASE( str );  
      WHILE i < LENGTH( str ) DO  
         BEGIN  
           SET c = SUBSTRING( s, i, 1 );  
           IF LOCATE( c, punct ) > 0 THEN  
            SET BOOL = 1;  
          ELSEIF BOOL=1 THEN  
            BEGIN  
              IF c >= 'a' AND c <= 'z' THEN  
                 BEGIN  
                   SET s = CONCAT(LEFT(s,i-1),UCASE(c),SUBSTRING(s,i+1));  
                   SET BOOL = 0;  
                 END;  
               ELSEIF c >= '0' AND c <= '9' THEN  
                SET BOOL = 0;  
              END IF;  
            END;  
          END IF;  
          SET i = i+1;  
        END;  
      END WHILE;  
      RETURN s;  
    END ||  
    
    DELIMITER ; 

     

    bu fonksiyonu ekle, sonra : SELECT UC_Words(title) FROM `products`;

    seklinde çek, denedim localde çalışıyor

    kaynak : https://stackoverflow.com/questions/4263272/capitalize-first-letter-mysql

     

     


    Bu imza çok eskidi artık...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek

    bu verileri güncellemiyor ama sanırım, sadece çekerken fonksiyon belirli bir formata sokuyor. Php ile select + update yapabilirsin?


    0x0480 takilin madem ﷽﷽﷽
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EmQceR
    EmQceR's avatar
    Kayıt Tarihi: 14/Kasım/2007
    Erkek
    end bunu yazdı

    bu verileri güncellemiyor ama sanırım, sadece çekerken fonksiyon belirli bir formata sokuyor. Php ile select + update yapabilirsin?

    Update tablo set kolon = UC_Words(kolon) işe yarar hocam 


    Bu Yüce Türk Milleti ne ihanetler gördü hepsinin üstesinden gelmeyi başararak tarihe nice zaferler yazdırdı. Bu Millet Kuva-yı milliye hareketini yeniden başlatır. Sivas Kongresini yeniden toplar, Ya İstiklal, Ya Ölüm diye haykırır ve gereğini yapar. Türk Milleti ihaneti ve hainleri hiç affetmez. Dileğimiz odur ki bu iş sandıkta bitsin, aksi halde "sürüye dalmayı göze alan Kurt, çobanın da, köpeğinde hesabını yapmaz."
Toplam Hit: 926 Toplam Mesaj: 5
mysql