① sql怎么截取小数点前的数字,但是不要四舍五入
其实,你说的截取小数点前的数字,也就是将小数转换为整数。
可以使用函数【cast】进行转换
示例:将1234.9678转为整数
selectcast(1234.9678asint)
输出结果为:1234
② sql中如何取小数点后N位和如何只取整数部分
先按保留两位小数来取数,再转换为字符型,再按字符型取最后两位字符就是你要的了
round(字段名,2)
convert
substring
③ sql 里怎么用语句裁断小数点后两位
你可以改字段属性 number(10,2) 长度10位,小数点后取两位
select substr('123.234',INSTR('123.234','.')+1,2) from al; 答案是23
不知道满足你的需求没?
④ sql 如何取有小数点后有效数字,比方说,1.0230000,怎么取到1。023
直接用convert,如:
Select convert(decimal(10,2),'1.0230000')
decimal(10,2)中的两个数值,第一个参数表类型的长度,第二个参数表小数点后精度,
取小点2位,则为2,三位则为3。
试试吧,OK!
给分吧,嘿嘿。
⑤ sql 浮点型怎么截取两位小数
round()
是四舍五入,
如果你要截取的话用trunc()。
trunc(123.456,
2)
结果就是123.45
而round(123.456,
2)的结果是123.46
⑥ sql 浮点型怎么截取两位小数
你的表述不够清楚啊,根据个人理解,两种情况:
1.在数据表中的显示形式(用数据类型)
(1)numeric(数据长度,小数位数)
如:numeric(15,2);
(2)decimal(数据长度,小数位数)
同上;
2.查询时显示的形式(用数学函数)
round(数据值,小数位数)【注意这里是四舍五入的】
如print round(12.356487,2)返回值为:12.36
⑦ 数据库怎样用sql语句查询字段最后面的小数点后面的数字
select reverse(substring(reverse(字段),0,CHARINDEX('0',reverse(字段)))) from 表名 where 条件
select reverse(substring(reverse('123.231.22.33'),0,CHARINDEX('0',reverse('123.231.22.33
')))) from 表
reverse() 反转
substring() 截取 参数1 表示要截取的字符 参数2 表示从那里截取 参数3 表示截取多少位
charindex() 查找 参数1 表示要查找的字符 参数2 表示从哪个字符串中查找
要截取最后一个点的位置后面的数 由于没有截取最后一个的函数 我们不妨先将字符串反转 从而找到第一个点的位置 截取的时候 我们也反转一下 那么最后得到截取的字符串也是被反转的 所以最后我们也要再反转成我们想要的值
⑧ sql 截取前8位和最后4位
1、SUBSTRING
返回字符、binary、text或 image表达式的一部分。有关可与该函数一起使用的有效 Microsoft® SQL Server™数据类型的更多信息,请参见数据类型。
语法
SUBSTRING(expression , start , length )
参数
expression
是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。
start
是一个整数,指定子串的开始位置。
length
是一个整数,指定子串的长度(要返回的字符数或字节数)。
substring()
——任意位置取子串
2、left() 和right()
——左右两端取子串
示例:
declare@strvarchar(100);
set@str='gwengnwelgkweg';
selectSubstring(@str,0,8)--从左边第一位开始,截取8位
selectSubstring(@str,Len(@str)-4,4)--截取后4位
--left()right()
selectleft(@str,8)--截取前8位
selectright(@str,4)--截取后4位