1


0

私はmysqlを使用しています。 1つのフィールドに私はstring1

string2のようなデータを挿入しました:: 2つのストリング:: ::今私は2番目のストリングだけをフェッチしたいです。

3 Answer


3


あなたはこれがひどい考えであることを理解していますか? リレーショナルデータベースシステムには、理由から列があります。 これをすることはあなたがシステムに対して働いていることです。これはよく知られた対パターンです。 実際には、別々の値に別々の列を使用するようにしてください。

そうは言っても、MySQLの文字列操作関数を使って値を取得することができます。

これはMySQLの文字列関数の概要です:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

上のページには、それらを使用する方法を説明するコメントがあります。 あるいは、SUBSTRING_INDEX()を その他の回答で説明として使用することもできます。


3


SELECT SUBSTRING_INDEX( 'string1 :: string2'、 '::'、-1)


0


前述のように、これはひどいデザインです。 複数の日付に複数の列を使用する必要があります。 それ以外に、ワイルドカードを使って値を見つけることができます。 たとえば、09/08/2009を探しているとします。

myTableのWHERE id = 1からSUBSTRING( 'date'、 -  10)を選択します。

これはあなたの日付の最後の10文字を返します。 繰り返しますが、これは「良い」解決策ではありません。 良い解決策はデータベース自体を修正することでしょう。