でカラムから1のデータを取得しますが、このコラムなどから一つのデータを選択することはできません。唯一の列のデータ場合COL_1私は1つの列に複数のデータを挿入した複数のデータ
col_1 | col_2|
--------+------+
a,b,c,d |e |
----------------
でカラムから1のデータを取得しますが、このコラムなどから一つのデータを選択することはできません。唯一の列のデータ場合COL_1私は1つの列に複数のデータを挿入した複数のデータ
col_1 | col_2|
--------+------+
a,b,c,d |e |
----------------
からデータbを取得します一貫して構成されている、あなたは複数の列に列を分割するために、独自の関数を定義することができ、次のよう
DELIMITER $$
CREATE DEFINER=CURRENT_USER FUNCTION `SPLIT_STR`(
x VARCHAR(255), # Input
delim VARCHAR(12), # Delimiter
pos INT # Position or Field
) RETURNS varchar(255) CHARSET latin1
DETERMINISTIC
BEGIN
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');
END$$
DELIMITER ;
はそれを使用します。
SELECT SPLIT_STR(col1, ',', 2) FROM table; # Results in 'b'
単純にexplode( '、'、$ data);を使用できます。機能
が、私は、この方法は、複数のデータを操作することをお勧めします:
<?php
// Your data
$data = 'a,b,c,d';
// Convert string to array
$data = explode(',', $data);
// Encode data and save it into database
$encoded_data = json_encode($data);
// Return data from database and convert it to array
$decoded_data = json_decode($encoded_data);
// Get item from returned array
echo $decoded_data[2];
echo '<pre>';
print_r($encoded_data);
echo '<br>';
print_r($decoded_data);
echo '</pre>';
私たちはPHPを使用して良いアイデア。私たちが別の言語を使っているときには役に立ちません。これが私がタグでjspを言及した理由です。 –
が、これはMySQLで動作するのでしょうか? –
はい。私は自分のMySQLデータベースでこの関数を使用しています –
ありがとうございます。これはmysqlの最初のカスタム関数であり、あなたの答えは完璧に働いています。あなたは賞金とupvoteに値するでしょう。 –