1

次のような値を含む列があります。例:

ファラリ - 2013年製

メルセデス - 2012年製

ジャガー - 1978 年製

製造年が最も高い、または最近の車を返品したい:

このようなものは私に年を与えますが、明らかに残りの文字列を切り捨てます:

SELECT
MAX(RIGHT(CarProfile, 4)) 
FROM mySchema.Car;

最高の年を取得しながら完全な文字列を維持するにはどうすればよいですか?

この場合: Farari - 2013 年製

4

4 に答える 4

2
SELECT  top 1 *
FROM    Car order by RIGHT(CarProfile, 4)*1 desc 
于 2013-09-22T08:10:02.637 に答える
0

データベースに保存するのではなく、印刷するときに「製」を取得する必要があります。したがって、代わりにテーブルは次のようになります。

CarProfile | Year
---------------
Ferrari | 2013
Mercedes | 2012
Jaguar | 1978

そして、あなたの「メイドイン」は、次のようなクエリを介して取得されます。

SELECT  CarProfile, ' - made in', year
FROM    Car
HAVING  year = MAX(year) 

または、表示されたときにそれを書くこともできます(たとえば、php):

<?php echo $CarProfile . " - made in " $year;?>

テーブルをよりコンパクトでフレンドリーにします。

于 2013-09-22T08:16:51.083 に答える