Sql server 将字符串替换为保持字符串长度固定的整数值
我在SQL Server表中有两列,一列是Id,另一列是Number,例如,如果Id如下所示:1189、758、756,我需要一个用户定义或系统定义的函数,它可以生成数字:T01189、T00758、T00756Sql server 将字符串替换为保持字符串长度固定的整数值,sql-server,Sql Server,我在SQL Server表中有两列,一列是Id,另一列是Number,例如,如果Id如下所示:1189、758、756,我需要一个用户定义或系统定义的函数,它可以生成数字:T01189、T00758、T00756 我想保留此函数作为默认字段或将其添加到触发器-插入记录后不久,您可以建议我哪一个更好。您可以在此处使用填充技巧: SELECT Id, 'T' + RIGHT('0000' + Id, 5) AS Number FROM yourTable; 您可以在此处使用填充技
我想保留此函数作为默认字段或将其添加到触发器-插入记录后不久,您可以建议我哪一个更好。您可以在此处使用填充技巧:
SELECT
Id,
'T' + RIGHT('0000' + Id, 5) AS Number
FROM yourTable;
您可以在此处使用填充技巧:
SELECT
Id,
'T' + RIGHT('0000' + Id, 5) AS Number
FROM yourTable;
但这给了我正确的答案,可能是因为不同的数据库或版本:选择“T”+右('00000'+强制转换(InspectionItemId为VARCHAR(5)),6),InspectionItemId,InspectionItemNumber from InspectionItems,其中CaseId=293 order by 1 descOh…我假设
Id
已经是文本了。如果不是,那么是的,您需要首先强制转换它,正如您所指出的。但这给了我正确的答案,可能是因为不同的DB或版本:选择“T”+右('00000'+强制转换(InspectionItemId为VARCHAR(5)),6),InspectionItemId,InspectionItems中的InspectionItems编号,其中CaseId=293按1描述排序…我假设Id
已经是文本。如果不是,那么是的,正如你所指出的,你需要先投下它。