Excel工作表数据
Eno EName Pincode
1 aaa 123456
2 bbb 123423
3 ccc 34
4 ddd 567
5 eee 4532
表格结构
Eno Varchar(10)
EName vachar(25)
Pincode Nvarchar(6)
我从excel表中获取数据时pincode有3或2或6或4,我必须检查如果pincode列值小于6我有concat 0。
Eg: Pincode 34 it have only 2 digit so i add 4 zero in front 000034.
结果
EmpInfo
Eno EName PinCode
1 aaa 123456
2 bbb 123423
3 ccc 000034
4 ddd 000567
5 eee 004532
答案 0 :(得分:2)
您可以向PinCode
值添加1000000并获取最右边的6个字母。
select right(1000000+PinCode, 6)
答案 1 :(得分:1)
我建议你将它包装成一个像这样的标量值函数:
CREATE FUNCTION FormatPinCode
(
@rawPin NVARCHAR(6),
@prefix NVARCHAR(6) = '000000' /* Optional */
)
RETURNS NVARCHAR(6)
AS
BEGIN
DECLARE @Result NVARCHAR(6)
SELECT @Result = RIGHT(@prefix + @rawPin, 6)
RETURN @Result
END
像这样使用:
SELECT Eno, EName, FormatPinCode(PinCode)
答案 2 :(得分:0)
试试这个......
select
Eno,
EName,
right('000000' + PinCode, 6) as PinCode