sql 求字符串长度 不够自动补空格
时间:2011-10-19
来源:互联网
但实际上一般输入8位
怎么能让后2位自动补成空格
我在程序中读取的时候读取的是有空格的值
例如
字段值为 12345678
读取的值为 12345678##
##代表空格
字段类型设置为char还是varchar
用什么函数可以做到这个功能
作者: liyangfd 发布时间: 2011-10-19
作者: jwdream2008 发布时间: 2011-10-19
ltrim函数。
作者: fredrickhu 发布时间: 2011-10-19
设置为10位
数据库存 12345678
但是读取出得结果是 10位的 在右侧自动补空格
12345678## 想要的事这个结果
作者: liyangfd 发布时间: 2011-10-19
作者: gogodiy 发布时间: 2011-10-19
--直接字段类型设置为char(10),输入'12345678'后好像就自动补2个空格的,LZ可以试试 --要么就varchar(10) select right('12345678'+'##########',10) --ps:#代表空格,'12345678'代表你的输入,思路就是你输入的值后面加10个空格,然后取最右边10位
作者: geniuswjt 发布时间: 2011-10-19
select left(ltrim(12345678)+'##########',10) /* -------------------- 12345678## (1 行受影响) */
如果你输入的数据大雨10位呢,该是怎样的情况?
作者: jiemo587 发布时间: 2011-10-19
SQL code
--直接字段类型设置为char(10),输入'12345678'后好像就自动补2个空格的,LZ可以试试
--要么就varchar(10)
select right('12345678'+'##########',10)
--ps:#代表空格,'12345678'代表你的输入,思路就是你输入的值后面加10个空格,然后取最右边10位
作者: geniuswjt 发布时间: 2011-10-19
作者: lxpbs8851 发布时间: 2011-10-19
create function rpad(@source varchar(1000),@lenth int,@fill varchar(1)) returns varchar(2000) as begin delcare @cnt int set @cnt =@lenth-len(@source) if(@cnt<=0) begin return @source end else begin while(@cnt>0) set @source=@source+@fill set @cnt=@cnt-1 end return @source end end select rpad([字段],10,' ') from tablename
作者: lxpbs8851 发布时间: 2011-10-19
select right('12345678'+'##########',10)
作者: qqzhengwei 发布时间: 2011-10-19
SQL code
select left(ltrim(12345678)+'##########',10)
/*
--------------------
12345678##
(1 行受影响)
*/
如果是字母或数字的话 这个没有问题
如果有汉字的话怎么办 一个汉字占2个字节的
作者: liyangfd 发布时间: 2011-11-10
作者: pengxuan 发布时间: 2011-11-10
作者: liyangfd 发布时间: 2011-11-10
字段类型设置为char(10),系统自动在右侧补空格
顶
作者: royal_cry 发布时间: 2011-11-10
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28