yhkn.net
当前位置:首页 >> sql中如何将字符型转化为整型,如将123.00转化为12... >>

sql中如何将字符型转化为整型,如将123.00转化为12...

将某种数据类型的表达式显式转换为另一种数据类型.CAST 和 CONVERT 提供相似的功能. 语法 使用 CAST: CAST ( expression AS data_type ) 使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 参数 expression 是任何有

declare @data1 nvarchar(20); set @data1='20090506143408'; set @data1= left(@data1,8)+' '+substring(@data1,9,2)+':'+substring(@data1,11,2)+':'+substring(@data1,13,2) select convert(datetime,@data1); 思路就是将原有的字符串换成如下形式:20090506 14:34:07 然后再将字符串转换成datetime类型.

你可以试试Convert函数 ,例如:Convert(int, 字段) //前一个参数为目标类型,后一个为字段名 如果想转换成浮点型/日期 等,可以通过第三个参数来控制格式

首先,字符串必须是数字形式的字符串,如“12345”或“-12345”等.然后需要用to_number函数进行转换.如:1 select to_number('12345') from dual; 这样就将字符转成了数字,并可以参与加减乘除的运算.这个你估计得自定义函数了,

insert into dept value( cast((select max(dept_code) from dept)+1 as int )

set nocount on declare @position int set @position = 65 while @position <=90 begin --select char(ascii(@position)) select char(@position) set @position = @position + 1 end set nocount off go

将字段修改成其它类型,需要修改表的结构,使用modi stru命令进入表设计器,将birthday的类型改成字符型.

declare @period char(8)set @period='02:12:12'select (datediff(second,'00:00:00',@period)+59)/60*0.3这样可以解决当秒为0时楼上的计算错误:select (datediff(second,'00:00:00',字段名)+59)/60*0.3 from 表名 如果秒数要忽略的话,更简单:select datediff(minute,'00:00:00',字段名)*0.3 from 表名

convert(int,'123456')cast('123456' as int)这两种都可以将字符串转换为整型

先检查金额列的数据是否都符合小数规范用cast(金额 as decimal(10,4))>500或者convert(decimal(10,4),金额)>500试试decimal的长度和小数位数根据自己需要设定

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com