我有一个最大大小为9个字符的列,我想查看所有小于9的行。
SELECT *
FROM tEmpCourseAssoc
WHERE ({ fn LENGTH(EmployeeID) } < 9)
现在我想在EmployeeID列的前面添加零,如果它少于9个字符,那么它最多可以添加9个字符。例如,如果EmployeeID列为1234567,则会更新为001234567,如果为12345678,则会更新为012345678
我认为它类似于:
SELECT RIGHT('0000000' + CAST(myField AS VARCHAR), 9)
但我不确定如何实现这一点。我计划直接从企业管理器中排除查询。 EmployeeID列是varchar(10)类型
答案 0 :(得分:1)
你可以试试这个
UPDATE tEmpCourseAssoc SET
EmployeeID= RIGHT(REPLICATE('0',9) + EmployeeID, 9)
WHERE LEN(EmployeeID) < 9
答案 1 :(得分:0)
SELECT RIGHT(REPLICATE('0', 9) + EmployeeID, 9) AS Expr1
FROM tEmpCourseAssoc
WHERE ({ fn LENGTH(EmployeeID) } < 9)
答案 2 :(得分:0)
SELECT RIGHT(REPLICATE('0', 9) + CAST(EmployeeID AS varchar), 9) AS Res
FROM tEmpCourseAssoc
WHERE ({ fn LENGTH(EmployeeID) } < 9)