从@myVariable
获得类型BIGINT
的变量myColumn
和类型nvarchar(200)
的{{1}}会失败:
myTable
标题错误:
将数据类型nvarchar转换为bigint时出错。
完整查询如下:
WHILE (EXISTS (SELECT * FROM myTable WHERE LEFT(CONVERT(bigint,myColumn),17) = @myVariable))
我也用DECLARE @myVariable BIGINT
SET @myVariable = (SELECT CurrentNumber FROM MyNumbers)
WHILE (EXISTS (SELECT * FROM myTable WHERE LEFT(CONVERT(bigint,myColumn),17) = @myVariable))
BEGIN
SET @myVariable = @myVariable + 1
END
尝试过,但是也失败了。
答案 0 :(得分:1)
这没有意义:
export class ChildComponent {
hasParent: boolean;
constructor (
private elRef: ElementRef
) {}
ngOnInit() {
const el = this.elRef.nativeElement.parentElement as HTMLElement
this.hasParent = el.localName === 'app-parent'
}
}
为什么要在数字上调用字符串函数?也许您打算:
LEFT(CONVERT(bigint, myColumn),17) = @myVariable
无论如何,我认为您应该传递一个字符串。假设CONVERT(bigint, LEFT(myColumn, 17)) = @myVariable
是一个字符串。像这样:
myColumn
当然,您仍然可以输入数字并使用:
myColumn LIKE @myVariable + '%'
但是我建议使用兼容的类型。
领先的零可能构成问题。但是,您尚未提供示例数据,所以我不知道这是否有问题。