ホームページ >バックエンド開発 >PHPチュートリアル >SQL ステートメントに関するガイダンスを求める

SQL ステートメントに関するガイダンスを求める

WBOY
WBOYオリジナル
2016-06-23 14:24:17805ブラウズ

SQL php mysql

テーブル名: table1
フィールド: ID 値 (数字とカンマ/数字の数は不確か)
コンテンツ A: 1 3,5
コンテンツ B: 2 3,3
コンテンツ C: 3 3,4 ,5
コンテンツ D: 4 5,3,6
実現したいのは、対応する ID を見つけて、値フィールドの 3 を 4 に置き換えることです。 1 つだけを置き換えます

達成される最終効果
コンテンツ A: 1 4,5
コンテンツ B: 2 4,3
コンテンツ C: 3 4,4,5
コンテンツ D: 4 5,4,6

SQL ステートメント:

ディスカッションへの返信 (解決策)

Oracle、mysqlテストされていないため、対応する関数を mysql に置き換えるだけで十分です。
select replace(firstStr, 's', 'a')||secondStr
from (SELECT substr(str, 0, instr(str, 's')) firstStr,
substr(str, instr(str, 's' ) )+1) SecondStr
FROM (select t1.value str from table1 t1 where t1.id=1))

ごめんなさい、今文字を変更するのを忘れていました。
Oracle と MySQL はテストされていません。対応する関数を MySQL に置き換えるだけで十分です。
select replace(firstStr, '4', '3')||secondStr
from (SELECT substr(str, 0, instr(str, '4')) firstStr,
substr(str, instr(str, '4' ) )+1) SecondStr
FROM (select t1.value str from table1 t1 where t1.id=1))

select replace(firstStr, '3', '4')||secondStr
from (SELECT substr(str) , 0, instr(str, '3')) firstStr,
substr(str, instr(str, '3')+1) SecondStr
FROM (t1.id=1 の table1 t1 から t1.value str を選択))

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPループの問題?次の記事:PHPループの問題?