Sql server 2008 使用更新查询增加特定值
结果是Sql server 2008 使用更新查询增加特定值,sql-server-2008,Sql Server 2008,结果是 select top 1(SUBSTRING(patientid,9,4)) as MaxpatientID from Patient_Data where PatientID like 'AT112013%' order by PatientID desc; 现在是否有可能增加该数字,例如: MaxPatientID 0014 我尝试了这个查询,但不值得使用 0015 0016 0017 感谢您的帮助。我刚刚在mysql中试用过。希望这符合您的要求: update Patient
select top 1(SUBSTRING(patientid,9,4)) as MaxpatientID from Patient_Data
where PatientID like 'AT112013%' order by PatientID desc;
现在是否有可能增加该数字,例如:
MaxPatientID
0014
我尝试了这个查询,但不值得使用
0015
0016
0017
感谢您的帮助。我刚刚在mysql中试用过。希望这符合您的要求:
update Patient_Data set (top 1(SUBSTRING(patientid,9,4)) as MaxpatientID)=(MaxpatientID + 1)
where PatientID like 'AT112013%' order by PatientID desc;
update patientid = SUBSTRING(patientid,0,9)) + convert(varchar(32), convert(int, SUBSTRING(patientid,9,4)) + 1) where patientid like 'AT112013%'
为什么不使用常规的INT标识,但在前端显示时只显示额外的零呢?或者第二个(计算)列使用您的标识列并添加您要查找的零?您只需要更新前1行吗?或者呢?他正在用PatientID更新所有记录,比如“AT112013%”,对于我需要增加的每个交易,该值将在插入记录或更新期间增加,看起来您的样本正在更新。不是吗?请注意,样本增量值没有用零/秒填充
UPDATE test SET patientId = (SELECT patientId
FROM
(
SELECT CONCAT(SUBSTRING(patientId, 1, 6), CAST(SUBSTRING(patientId, 4, 2) AS UNSIGNED) +1)
FROM test
WHERE `patientId` LIKE 'AT112013%') AS temp
)