我想選擇一個varchar字段的最大值和遞增1的值保留其原始格式的最大值。對於前SQL查詢來選擇一個varchar字段
客戶ID。 :是價值
加1,然後將其輸入到數據庫以及其他詳細信息。
所以結果應該是像CUS0000002
..
這是我曾嘗試,事實上取得了我想要的東西..
但是,這是做到這一點的最好辦法?
SELECT
CONCAT('CUS', RIGHT(CONCAT('000000', CONVERT((CONVERT(MAX(RIGHT(customer_id, 7)) , UNSIGNED) + 1), CHAR(10))), 7)) AS customer_id
FROM customer_master
是否總是3個字母和數字的休息? – 2012-08-16 09:06:18
這對於併發更新不安全。更好地使用一個SEQUENCE。 – Thilo 2012-08-16 09:06:35
只要使用一個數字,但始終按照您的意願格式化客戶編號輸出,是不是更明智? – BugFinder 2012-08-16 09:06:37