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 


    ...
Toplam Hit: 929 Toplam Mesaj: 5
mysql