MySQL tablosunda iki sütun vardır: SUBJECTve YEAR.
SUBJECT ve YEAR'den birleştirilmiş verileri tutan benzersiz bir alfasayısal sayı oluşturmak istiyorum.
Bunu nasıl yapabilirim? Gibi basit bir operatör kullanmak mümkün mü +?
MySQL tablosunda iki sütun vardır: SUBJECTve YEAR.
SUBJECT ve YEAR'den birleştirilmiş verileri tutan benzersiz bir alfasayısal sayı oluşturmak istiyorum.
Bunu nasıl yapabilirim? Gibi basit bir operatör kullanmak mümkün mü +?
Yanıtlar:
CONCATİşlevi şu şekilde kullanabilirsiniz :
SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`
Güncelleme:
Bu sonucu elde etmek için şunu deneyebilirsiniz:
SET @rn := 0;
SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`
SUBJECT, ''), '-', IFNULL ( YEAR, ''), '-', LPAD (@rn: = @ rn + 1,3, '0')) FROMtable
Bunun için CONCAT () içinde yerleşik php kullanabilirsiniz.
SELECT CONCAT(`name`, ' ', `email`) as password_email FROM `table`;
dosyalanmış adı gereklilik olarak değiştirin
o zaman sonuç
ve aynı dosyayı başka bir alanı kullanarak sonuçlandırmak istiyorsanız, o zaman
SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1
Php'de, tablo sütunlarını birleştirmek için iki seçeneğimiz var.
Sorguyu Kullanan İlk Seçenek
Sorguda, CONCAT anahtar sözcüğü iki sütunu birleştirmek için kullanılır
SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;
(.) Sembolünü kullanan İkinci Seçenek
Verileri veritabanı tablosundan getirdikten sonra, değerleri değişkene atayın, ardından (.) Sembolü kullanın ve değerleri birleştirin
$subject = $row['SUBJECT'];
$year = $row['YEAR'];
$subject_year = $subject . "_" . $year;
Alt çizgi (_) yerine boşluklar, virgül, harfler, sayılar ... vb. Kullanacağız.
Sorguda, CONCAT_WS()işlev.
Bu işlev yalnızca birden çok dize değeri eklemekle kalmaz ve bunları tek bir dize değeri yapar. Ayırıcı (”", ",", "-", "_" vb.) Tanımlamanıza da izin verir.
Sözdizimi -
CONCAT_WS( SEPERATOR, column1, column2, ... )
Misal
SELECT
topic,
CONCAT_WS( " ", subject, year ) AS subject_year
FROM table
SELECT CONCACT(SUBJECT, ' ', YEAR)bana gerçekten yardımcı oldu. +1