A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭会茹 中级黑马   /  2012-10-13 10:18  /  1722 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郭会茹 于 2012-11-14 11:04 编辑

sql中怎么获取列字符串长度

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 李辰东 于 2012-10-13 12:49 编辑

我直接複製你的問題度娘了一下,給你轉轉

字符串操作匯總,可以make下!字符串長度的操作給你加亮

sql 获取字符串长度SQL字符串操作汇总--将字符串中从某个字符开始截取一段字符,然后将另外一个字符串插入此处
  select stuff('hi,world!',4,4,'****') --返回值hel****orld!
  --返回从指定位置开始指定长度的字符串
  select substring('Hello,World!',2,10) --返回值ello,World
  --将字符串中某段字符替换为指定的字符串
  select replace('hi,world!','ll','aa') --返回值heaao,world!
  --去除字符串中左面的空格
  select ltrim(' hi,world!') --返回值hi,world!
  --去除字符串中左面的空格
  select ltrim('hi,world! ') --返回值hi,world!
  --去除字符串中左面和右边的空格
  select ltrim(' hi,world! ') --返回值hi,world!
  --将NULL值替换为指定字符
  select isnull('a',null) --返回值a
  --转换数据类型
  select cast('2007-10-11' as datetime) --返回值2007-10-11 00:00:00.000
  select convert(datetime,'2007-10-11') --返回值2007-10-11 00:00:00.000
  --获取字符串长度
  select len('hi,world!') --返回值12

  --获取字符串的前3个字符
  select left('hi,world!',3) --返回值hel
  --获取字符串的后3个字符
  select right('hi,world!',3) --返回值ld!
  --去除字符串的前3个字符
  select right('hi,world!',(len('hi,world!')-3)) --返回值lo,world!
  --去除字符串的后3个字符
  select left('hi,world!',(len('hi,world!')-3)) --返回值hi,wor
  --获取在该字符串中某字符串的位置(返回数字)
  select charindex('e','hi,world!') --返回值2
  --返回从第二个字符开始前4个字符
  select left(right('[哈哈哈哈]aaa',len('[哈哈哈哈]aaa')-1),4) --返回值哈哈哈哈
  --返回字符的小写情势
  select lower('HELLO,WORLD!') --返回值hi,world!
  --返回字符的大写情势
  select UPPER('hi,world!') --返回值HELLO,WORLD!
  --用第三个表达式替换第一个字符串表达式中浮现的所有第二个指定字符串表达式的匹配项
  (要是此中有一个输入参数属于 nvarchar 数据类型,则返回 nvarchar;不然返回 varchar。要是任何一个参数为 NULL,则返回 NULL。)
  SELECT REPLACE('Hello,World!','l','a') --返回值Heaao,Worad!
  SELECT REPLACE('Hello,World!','l','') --返回值Heo,Word!
  SELECT REPLACE('Hello,World!','l',null) --返回值NULL
  --以右边参数数值次数复制字符表达式
  select REPLICATE('Hello,World!',4) --返回值Hello,World!Hello,World!Hello,World!Hello,World!
  --返回反转后的字符串
  select REVERSE('Hello,World!') --返回值!dlroW,olleH
  --施用DIFFERENCE时,两个字符串发音越相似(仅限于英书契符),返回值越大(返回值在0-4之间)
  DIFFERENCE('sun','san') --返回值4
  DIFFERENCE('sun','safdsdf') --返回值3
  DIFFERENCE('sun','dgffgfdg') --返回值0
  --将带小数点的数字类型转换为可设定长度可设定小数位的四舍五入后的字符串
  SELECT STR(123.34584, 7, 3) --返回值123.346
  --当设定长度值小于整数部位长度时,字符串将返回设定长度个*
  SELECT STR(123333.34584, 5, 4) --返回值*****
  --================================================ ===================================
  --=====================================数字操作汇总==================================
  --返回指定数字的最大整数
  select floor(123456.1234) --返回值123456
  --返回不带小数部分并且不小于其参数的值的最小数字。要是参数是一个空序列,则返回空序列
  select ceiling(123.010) --返回124
  select ceiling(null) --返回NULL
  --返回四舍五入后的最靠近该数值的数值
  select round(126.018,2) --返回126.12
  --返回一个0-1之间的FLoat类型的随机数
  select rand() --返回0.94170703697981
  --返回圆周率PI的值
  SELECT PI() --返回3.14159265358979





SQL 去空格,去回车 1.去除字符串后的回车键
    UPDATE PRDT SET PRD_NO=REPLACE(PRD_NO,CHAR(13)+CHAR(10),SPACE(0))
2.去除字符串中间或前后的空格
UPDATE PRDT SET PRD_NO=RTRIM(LTRIM(PRD_NO))
UPDATE PRDT SET PRD_NO=REPLACE(PRD_NO,' ','')

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马