我的这一行是我的SQL Select的一部分:
REPLACE(STR(temp.AdminTestId,5),' ','0') + '-' +
REPLACE(STR(A.UserTestId,5),' ','0') + '-' +
REPLACE(STR(A.Sequence,2),' ','0') as TestId,
当Sequence为null时,TestId返回null。如果Sequence为null,我想要的只是零填充的AdminTestID“ - ”和零填充的UserTestId出现。
答案 0 :(得分:3)
当Sequence为null或不为时,您可以使用CASE在两个场景之间进行分支。 您还可以使用ISNULL和COALESCE进行空检查
根据评论中的要求添加了代码示例
REPLACE(STR(temp.AdminTestId,5),' ','0') + '-' +
REPLACE(STR(A.UserTestId,5),' ','0') +
ISNULL('-' + REPLACE(STR(A.Sequence,2),' ','0'),'') as TestId,
答案 1 :(得分:1)
将空值连接到字符串将在Sql server中返回空字符串。 解决方案通常是使用Sql server的内置函数将空值转换为空字符串,因此您的代码将如下所示:
function MyCtrl($scope) {
$scope.createComment = function() {
console.log("comment is: ", $scope.commentText);
}
}
COALESCE函数是Sql server将返回它收到的第一个不是REPLACE(COALESCE(STR(temp.AdminTestId,5), ''),' ','0') + '-' +
REPLACE(COALESCE(STR(A.UserTestId,5), ''),' ','0') + '-' +
REPLACE(COALESCE(STR(A.Sequence,2), ''), ''),' ','0') as TestId,
的参数。
修改强>
要回答您的评论,利用将null连接到字符串的事实将返回null,您可以简单地将连字符连接到NULL
:
A.Sequence