0

たとえば、フィールドは基本レベルとジョブレベルの2つのデータで構成され、区切り文字で分割されます。

フィールド名:'baselvl:joblvl'
サンプルデータ:'70:30' =>エントリは、ベースレベルが70、ジョブレベルが30であることを示します。

特定の条件を満たすデータを取得するために、PHPWebサイトに検索を含めようとしています。たとえば、基本レベルが70以上のデータを取得します。または、たとえば、基本レベルが50を超え、ジョブレベルが30以下であるとします。

更新: joblvl部分がオプションになるようにこのフィールドを設計したことを忘れました。

データ例: '70' =>エントリは、ベースレベルが70、ジョブレベルが0であることを示します。

はい、同意します。デザインはそれほど素晴らしいものではありませんが、変更することはできません。私はそれがどうであるかで働かなければなりません

4

2 に答える 2

1

これを試して:

mysqlを使用していると思います。次のクエリを使用して、列を分割します。

set @field='70:30';
select substr(@field,1,LOCATE(':',@field)-1) as baselvl,
substr(@field,LOCATE(':',@field)+1,length(@field)-LOCATE(':',@field)) as oblvl

最良の方法は、両方の値を別々の列に保存することです。そうしないと、将来このような多くの問題が発生する可能性があります。

于 2012-09-07T07:09:58.197 に答える
0
Declare @temp varchar(30)='70:40'
Declare @temp1 varchar(30)='70:10'


if (
convert(int,substring(@temp, 0,charindex(':',@temp)))>=convert(int,substring(@temp,
0,charindex(':',@temp1)))
and 
convert(int,substring(@temp,
charindex(':',@temp)+1,len(@temp)))>=convert(int,substring(@temp1,
charindex(':',@temp)+1,len(@temp1))))
  print 'yes'
于 2012-09-07T06:58:08.090 に答える