Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将字符串替换为保持字符串长度固定的整数值_Sql Server - Fatal编程技术网

Sql server 将字符串替换为保持字符串长度固定的整数值

Sql 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; 您可以在此处使用填充技

我在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;


但这给了我正确的答案,可能是因为不同的数据库或版本:选择“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
已经是文本。如果不是,那么是的,正如你所指出的,你需要先投下它。