‘壹’ sql SERVER 如何取一个8位整数乘以7减去1后的后6位数
你可以先算出结果后,将结果转换为字符串,再截取右边六位数就可以了
如 declare @i integer
set @i = '12345678'
select right( cast(@i * 7 - 1 as varchar(15)),6)
如果要的这六位数也是整数可以再用convert或cast 将其转换回int
如select convert(integer,right( cast(@i * 7 - 1 as varchar(15)),6))
‘贰’ 如何用sql语句截取某个字段中指定文字后面紧跟的数值。 例如:(前面
如何用sql语句截取某个字段中指定文字后面紧跟的数值。 例如:(前面
一、用到的函数:substring(' ', , )、charindex(' ',' ')
select SUBSTRING('[email protected]',1,charindex('@','[email protected]')-1)
1.substring(字符串表达式,开始位置,长度):
从一个指定字符串的指定位置截取制定长度的字符;
第一个参数表示被截取的字符串;
第二个参数表示要在第一个参数中开始截取的位置;
第三个参数表示要截取的长度。
例如:select substring('abc123',1,2) →返回ab
从字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。
2.charindex(字符串表达式1,字符串表达式2[,整数表达式]):
在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一个是null则返回null。
可以指定在字符串2中查找的起始位置。
例如:select charindex('ab','BCabTabD') → 返回3
select charindex('ab','BCabTabD',4) →返回6
二、用到的函数:left(' ', )、charindex(' ',' ')
select LEFT('[email protected]',charindex('@','[email protected]')-1)
1.left(字符串表达式,整数表达式):
从字符串表达式的最左边开始截取整数表达式个字符。
例如:select left('abcdef',3) →返回abc
‘叁’ 截取一个字符串的最后6位sql语句怎么写
看了一下回答,我还是说几句吧,希望有所帮助。 对SQl字符串的截取现在有两种方法, 一种是:用right函数。 如果你的字符串已经读取到的话,假如放在strings自己定义的变量里面就可以用:select right('strings',4) 此函数返回的结果是,字符串strings的最后四位,如果strings不足四位或刚好四位,则全部返回。 如果你的字符串是从表中读取出来的话,可以先定义一个变量declare @string 把查询出的字符串赋值过去,使用:select right('@string',4),就可以了,理解同上。 另一种是:用substring函数 select substring('1234567',len('1234567')-4,4) 返回的结果是:‘4567’ 或用上面的自定义变量才存储查询出来的字符串。小小一例:godeclare @string char(10)set @string='1234567' ----可以是一条sql语句,返回的结果是一个字符串select substring('1234567',len('1234567')-4,4)go应该清楚了吧? ^_^ 要是有什么不清楚的,随时Hi我 相互学习!
‘肆’ sql 取一个13位数倒着数后6位数
SUBSTR(string,start [,count]) 该函数告诉oracle提取出string一个子集,start开始位置,count提取长度,不指定count时,默认提取到该字符串的尾部。
start同时也可以指定为负数,指定为正数的时候是从字符串的起始位置开始算(左边),指定负数时,是从末尾位置算(右边)。PS:负数不能使用于Char数据类型,因为Char是固定长度的, 所以将使用空格填充他们的值,直到扩展到列的全长。
‘伍’ sql 取字符串后几位问题
你的意思是取最后两个字符??
select substring('addlpeelp',char_length('addlpeelp')-1,2)
如果取表中的
select substring([列名],char_length([列名])-1,2) from [表名]
‘陆’ sql中怎样取某个字段的后几位
select
name as 正常,
right(name,3) as 右边3位,
left(name,3) as 左边3位
from sys.databases
‘柒’ sql截取小数点后几位
这个要看数据库表设计是怎么规定的
一般小数类型的字段,在Mysql数据库中用decimal类型,可以分别设置长度和小数点
另外,长度是包括小数点的,比如:长度设为10,小数点设置为2,则这个数的整数位最大是8位
‘捌’ sql中如何在where字句里截取某个字段的前几位字符
sql中在where字句里截取字符方法如下:
1、如果是sqlserver:where left(p.end_time,4) = '2012'。
2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。
举例:
1、oracle: 'where substr(字段名,1,2)='''123''''
2、sqlserver: 'where substring(字段名,1,2)='''123''''
(8)sql怎么截取后6位扩展阅读:
sql中,常用函数介绍:
1、AVG():返回平均值
2、COUNT():返回行数
3、FIRST():返回第一个记录的值
4、LAST():返回最后一个记录的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回总和
8、UCASE():将某个字段转换为大写
9、LCASE():将某个字段转换为小写
10、MID():从某个文本字段提取字符
11、LEN():返回某个文本字段的长度
12、ROUND():对某个数值字段进行指定小数位数的四舍五入
13、NOW():返回当前的系统日期和时间
14、FORMAT():格式化某个字段的显示方式
15、INSTR():返回在某个文本域中指定字符的数值位置
16、LEFT():返回某个被请求的文本域的左侧部分
17、RIGHT():返回某个被请求的文本域的右侧部分
‘玖’ sql选中字段中的后6位,如何用语句表达呢
select right(字段,6) from table
楼上的回答的话如果字段后面有空格的话就达不到效果了。因为每个空格也算一个字符。
要用两个函数 RIGHT--右取函数,REPLACE 替换函数
CREATE TABLE T1 (A VARCHAR(100))
INSERT INTO T1 VALUES('123456 ') --数字后面为6个空格
SELECT RIGHT(A,6) FROM T1 --取到的是6个空格
SELECT RIGHT((REPLACE(A,' ','')),6) FROM T1 --把空格去掉后得到结果123456
‘拾’ 截取日期为六位sql怎么写
subtr(cdate,1,6)对的。
我一直也用的是这个函数,没有问题。