• 09-10-2020, 14:01:51
    #1
    https://prnt.sc/uw2oaw
    Arkadaşlar SS deki Durumu şu şekilde ayırmam lazım, ama malesef çözümünü bulamadım çünki orta kısımlar değişken,
    W420202LP Örnek kodumuz bu:
    Bunu ayıralım.
    420202(bu kısım 1 fazla 1 eksik olabiliyor, film burda kopuyor bende) Kalıp Kodu
    L Desen Kodu
    P Renk Kodu
    Şeklinde ayırmam lazım
    Bazen sondaki kod'da tek kalabiliyor.
  • 09-10-2020, 14:04:53
    #2
    Dediğinize göre her kısım değişken sabit bir şey yok bu yüzden tek aklıma gelen her karakteri kontrol edip kontrol ettiği Int ise oradan başlayıp stringe kadar olan tüm charları almak. Eğer kalıp kodunuza da string geliyorsa geçmiş olsun mümkün değil gibime geliyor.
  • 09-10-2020, 14:22:45
    #3
    Php mi kullanıyorsunuz. Eğer öğle ise bir fonksiyon yazıp atabilirim. İlk W sabit sanırım değişmiyor. Ortadaki sayı 5-6 karakter arası değişken oluyor demi. Bir de _ işareti gördüm bunun bir özelliği yok demi.
  • 09-10-2020, 14:24:58
    #4
    MuhammetDemirel adlı üyeden alıntı: mesajı görüntüle
    Php mi kullanıyorsunuz. Eğer öğle ise bir fonksiyon yazıp atabilirim. İlk W sabit sanırım değişmiyor. Oradaki sayı 5-6 karakter arası değişken oluyor demi. Bir de _ işareti gördüm bunun bir özelliği yok demi.
    merhaba, malesef php değil, sql'de yazıp bu sorguyu bir muhasebe yazılımına göndermem gerekli. yani sadece sql server üzerinden halletmem gerekiyor
  • 09-10-2020, 15:04:15
    #5
    excel'de halledilemiyor mu denediniz mi? önce excel'e atıp orada düzenleyip sonra tekrar sql veya bahsettiğiniz muhasebe programına atamıyor musunuz?
  • 09-10-2020, 15:56:28
    #6
    SELECT
    IF(SUBSTRING(test.sto_kod, 2, 6) REGEXP '^[0-9]+$', SUBSTRING(test.sto_kod, 2, 6), SUBSTRING(test.sto_kod, 2, 5)) AS Code,
    IF(SUBSTRING(test.sto_kod, LENGTH(test.sto_kod) - 1, 1) REGEXP '^[A-Za-z]+$', SUBSTRING(test.sto_kod, LENGTH(test.sto_kod) - 1, 1), SUBSTRING(test.sto_kod, LENGTH(test.sto_kod), 1)) AS Pattern,
    IF(SUBSTRING(test.sto_kod, LENGTH(test.sto_kod), 1) REGEXP '^[A-Za-z]+$' AND SUBSTRING(test.sto_kod, LENGTH(test.sto_kod) - 1, 1) REGEXP '^[A-Za-z]+$', SUBSTRING(test.sto_kod, LENGTH(test.sto_kod), 1), NULL) AS Color
    FROM test;
    Çıktı ise bu şekilde:

    Regex bilen birisi çok daha kısa bir sorgu ile alabilir bu değerleri, ben çok uzmanı olmadığımdan sorgu uzadıya gitti Daha fonksiyonel istiyorsanız SQL de fonksiyon oluşturabilirsiniz.
  • 09-10-2020, 16:18:57
    #7
    MuhammetDemirel adlı üyeden alıntı: mesajı görüntüle
    SELECT
    IF(SUBSTRING(test.sto_kod, 2, 6) REGEXP '^[0-9]+$', SUBSTRING(test.sto_kod, 2, 6), SUBSTRING(test.sto_kod, 2, 5)) AS Code,
    IF(SUBSTRING(test.sto_kod, LENGTH(test.sto_kod) - 1, 1) REGEXP '^[A-Za-z]+$', SUBSTRING(test.sto_kod, LENGTH(test.sto_kod) - 1, 1), SUBSTRING(test.sto_kod, LENGTH(test.sto_kod), 1)) AS Pattern,
    IF(SUBSTRING(test.sto_kod, LENGTH(test.sto_kod), 1) REGEXP '^[A-Za-z]+$' AND SUBSTRING(test.sto_kod, LENGTH(test.sto_kod) - 1, 1) REGEXP '^[A-Za-z]+$', SUBSTRING(test.sto_kod, LENGTH(test.sto_kod), 1), NULL) AS Color
    FROM test;
    Çıktı ise bu şekilde:

    Regex bilen birisi çok daha kısa bir sorgu ile alabilir bu değerleri, ben çok uzmanı olmadığımdan sorgu uzadıya gitti Daha fonksiyonel istiyorsanız SQL de fonksiyon oluşturabilirsiniz.
    furkan eline emeğine ve verdiğin zamana çok teşekkür ederim. yalnız ben sql serverda güncellediğimde

    https://prnt.sc/uw5rt3
    bu şekilde hata gelmekte, bi gayret şu konuda'da yardımcı olabilirsen hayır duasını kapacaksın akşam akşam
  • 09-10-2020, 16:24:49
    #8
    M_Can adlı üyeden alıntı: mesajı görüntüle
    furkan eline emeğine ve verdiğin zamana çok teşekkür ederim. yalnız ben sql serverda güncellediğimde

    https://prnt.sc/uw5rt3
    bu şekilde hata gelmekte, bi gayret şu konuda'da yardımcı olabilirsen hayır duasını kapacaksın akşam akşam
    SQL server hiç kullanmadım ama mysql sorguları ile aynı sanırım, umarım aynıdır yoksa kodlar hiç çalışmaz. Siz bana tablo ve kolon ismini atabilirseniz düzenleyip tekrar kodu paylaşayım.
  • 09-10-2020, 16:29:47
    #9
    MuhammetDemirel adlı üyeden alıntı: mesajı görüntüle
    SQL server hiç kullanmadım ama mysql sorguları ile aynı sanırım, umarım aynıdır yoksa kodlar hiç çalışmaz. Siz bana tablo ve kolon ismini atabilirseniz düzenleyip tekrar kodu paylaşayım.
    STOKLAR Tablosunda sto_kod kolonunda stok numaralarım barınıyor, oradan bölerek çoğaltıyoruz.
    mysql ile neredeyse aynı, ben lenghleri len olarak değiştim, ama regex ve if'de ufak bir problem çıktı