3

従業員 ID として varchar フィールドがあり、次のようにフォーマットされています。

書式:YYYY-採用日-番号 例:2012-1203-0001

しかし、新しいインクリメントされた ID を挿入するには、インクリメントする前にこのフィールドの最新の値を取得する必要があるため、新しいレコードを挿入するのに苦労しています。

直近の年の最新/最高 (MAX) の行を取得するにはどうすればよいですか?

前もって感謝します :)

4

2 に答える 2

2

あなたEmployeeIDのフォーマットがYYYY-MMdd-XXXX. これを試して、

SELECT MAX(EmployeeID)
FROM tableName
WHERE EmployeeID LIKE CONCAT(SUBSTRING(EmployeeID, 1, 4),'%')

SQLFiddle デモ

于 2012-09-21T01:05:08.730 に答える
2

これも役立つことを願っています:

SELECT * FROM tableName
WHERE EmployeeID IN (SELECT MAX(EmployeeID) FROM tableName) 

http://sqlfiddle.com/#!2/2d100/14

于 2012-09-21T01:18:40.740 に答える