2017-01-13 22 views
0

私たちのデータベースにはドラッグカラムがあり、これにはドラッグネーム(Xanaxなど)とそのサイズ(0.5mg)が含まれています。mySQLの1つのフィールドからデータを分離する方法はありますか?

など。ドラッグ名:Xanax 0.5mg

しかし、サイズの新しい列を作成せずに2つのデータを分離する必要があるため、データベース構造に大きな影響を与えます。私たちは、この単一のフィールド/カラムに基づいたサイズのない薬剤名だけをリストに入れるだけです。

薬の名前だけを抽出する方法はありますか?たとえば、Xanax(0.5mg)などの薬のサイズの周りにかっこを追加するようにユーザーを強制するとします。 ??ちょうど

を最初に "(" 文字の前に来て、すべての文字列を抽出したり、より良い方法があることを意味

答えて

1

これを試してみてください:

mytableは:

id name 
1 Xanax (0.5mg) 

クエリ:

select id, substring_index(name,'(',1) from tb_mx; 

返品予定:

1, Xanax 

このように使用してください。

0

あなたはJSON形式で

{"some_unique_id":{ 
    "name": "Xanax", 
    "quantity": "0.5mg" 
}} 

をdrug'sデータを保存し、あなたが必要なものを、パラメータを取得するためのMySQL 5.7用Functions That Search JSON Valuesを使用することができます。

0

私は製薬業界で使用されているDBの経験がありますが、そういうわけではありません。ここで

表UM(mgのような、ミリリットル、など) 表パッキング(PICEあたりの量のような、PICE NR、FK ID_UM) 表薬(名前、(正規化)私はuがしなければならない何を考えていますfk id_packing)

スペースを気にする必要はありません。テーブルUMとパッキングには再利用されたIDがたくさんあり、カラムのintはvarcharよりも少なくなっています。

JSON ideeaを使用することもできますが、レポートの一部にいくつかの問題があります。

+0

なぜこのようにするのは大丈夫だと思いますか? – catandmouse

関連する問題