sqlserver中如何判断一列中当值为一位数时前面插入000,二位数插入00,三位数插入0,四位就不做操作sql server中如何判断一列中当值为一位数时前面插入000,二位数时前面插入00,三位数时前面插入0,
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/14 06:50:10
![sqlserver中如何判断一列中当值为一位数时前面插入000,二位数插入00,三位数插入0,四位就不做操作sql server中如何判断一列中当值为一位数时前面插入000,二位数时前面插入00,三位数时前面插入0,](/uploads/image/z/1264211-35-1.jpg?t=sqlserver%E4%B8%AD%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E4%B8%80%E5%88%97%E4%B8%AD%E5%BD%93%E5%80%BC%E4%B8%BA%E4%B8%80%E4%BD%8D%E6%95%B0%E6%97%B6%E5%89%8D%E9%9D%A2%E6%8F%92%E5%85%A5000%2C%E4%BA%8C%E4%BD%8D%E6%95%B0%E6%8F%92%E5%85%A500%2C%E4%B8%89%E4%BD%8D%E6%95%B0%E6%8F%92%E5%85%A50%2C%E5%9B%9B%E4%BD%8D%E5%B0%B1%E4%B8%8D%E5%81%9A%E6%93%8D%E4%BD%9Csql+server%E4%B8%AD%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E4%B8%80%E5%88%97%E4%B8%AD%E5%BD%93%E5%80%BC%E4%B8%BA%E4%B8%80%E4%BD%8D%E6%95%B0%E6%97%B6%E5%89%8D%E9%9D%A2%E6%8F%92%E5%85%A5000%2C%E4%BA%8C%E4%BD%8D%E6%95%B0%E6%97%B6%E5%89%8D%E9%9D%A2%E6%8F%92%E5%85%A500%2C%E4%B8%89%E4%BD%8D%E6%95%B0%E6%97%B6%E5%89%8D%E9%9D%A2%E6%8F%92%E5%85%A50%2C)
sqlserver中如何判断一列中当值为一位数时前面插入000,二位数插入00,三位数插入0,四位就不做操作sql server中如何判断一列中当值为一位数时前面插入000,二位数时前面插入00,三位数时前面插入0,
sqlserver中如何判断一列中当值为一位数时前面插入000,二位数插入00,三位数插入0,四位就不做操作
sql server中如何判断一列中当值为一位数时前面插入000,二位数时前面插入00,三位数时前面插入0,四位不就不做操作,例如:
编码 名称 编码需改为
1 xxx 0001
2 xxx 0002
10 xxx 0010
18 xxx 0018
113 xxx 0113
117 xxx 0117
1011 xxx 1011
1200 xxx 1200
存储过程中如何写语句,谢谢啦
sqlserver中如何判断一列中当值为一位数时前面插入000,二位数插入00,三位数插入0,四位就不做操作sql server中如何判断一列中当值为一位数时前面插入000,二位数时前面插入00,三位数时前面插入0,
直接用case语句不就行了?
CREATE TABLE test(id int)
INSERT INTO dbo.test
( id )
SELECT 1
UNION ALL
SELECT
2
UNION ALL
SELECT
10
UNION ALL
SELECT
18
UNION ALL
SELECT
113
UNION ALL
SELECT
117
UNION ALL
SELECT
1011
UNION ALL
SELECT
1200
语句:
1、
SELECT id,sid=CASE WHEN LEN(id)=1 THEN '000'+CAST(ID AS VARCHAR(10))
\x05\x05\x05\x05WHEN LEN(id)=2 THEN '00'+CAST(ID AS VARCHAR(10))
\x05\x05\x05\x05WHEN LEN(id)=3 THEN '0'+CAST(ID AS VARCHAR(10))
\x05\x05\x05\x05WHEN LEN(id)=4 THEN CAST(ID AS VARCHAR(10)) END
FROM test
2、
select id,sid=right('000'+CAST(ID AS VARCHAR(10)),4) from test
结果:
1\x050001
2\x050002
10\x050010
18\x050018
113\x050113
117\x050117
1011\x051011
1200\x051200
因为我用的int类型,所以类型转化
以上是sqlserver数据库的写法