收藏 分销(赏)

金蝶K3进度15-数据类型转换操作流程.docx

上传人:二*** 文档编号:4766846 上传时间:2024-10-12 格式:DOCX 页数:10 大小:90.49KB 下载积分:5 金币
下载 相关 举报
金蝶K3进度15-数据类型转换操作流程.docx_第1页
第1页 / 共10页
本文档共10页,全文阅读请下载到手机保存,查看更方便
资源描述
知识点1、Cast 和 Convert 区别 SQL中的cast和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。 CAST和CONVERT提供相似的功能,只是语法不同。在时间转化中一般用到convert,因为它 比cast多加了一个style,可以转化成不同时间的格式。 结果1 Jj消息1 1数值1 1£ 123 select CONVERT(int , 123.4) as 数值2 2结果1 消息1 !数值2 4、字符串(精度值)转换为整型select CASTC 123.4' as int) as 数值 1 3结果 J消息| 1 消息245,级别1 6,状态1,第1行 在将varchar值’123.4,转换成数据类型int时失败。 select CONVERT(int , '123.4') as 数值2在将varchar值’123. V转换成数据类型int时失败。 3结果 J消息| 1 消息245,级别1 6,状态1,第1行 5、字符串(精度值)转换为精度值(不带小数位)select CAST(* 123.4, as decimal) as 数值 1 □结果l J消息1 1数值1 1|| 123 select CONVERT(decimal , '123.4') as 数值2 口结果| J消息| 6、字符串(精度值)转换为精度值(带小数位) 7、convert函数的style参数 7.1 money 和 smallmoney 样式 值 输出 0 小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如4235.98。 1 小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如3,510.92。 2 小数点左侧每三位数字之间以逗号分隔,小数点右侧取四位数,例如3,510.9200“ 126 转换为char(n)或varchar(n)时,等同于样式2 declare ©Num moneyset @Num = 1234 select CONVERT(varchar (20) , @Num , 0) as 数值 1declare @Num money 数值1 1 | 1234.00 set CNum = 1234select CONVERT(varchar (20) , @Num , 1) as 数值2 J结果1 J消息1 |数值2 11] 1,234.00 declare @Num money set @Num = 1234select CONVERT(varchar (20) , ©Num , 2) as 数值3 ◎结果|因消息| 数值3 J i 1234.0000 : declare ©Num moneyset ©Num 二 1234 select CONVERT(varchar (20) , CNum , 126) as 数值4消息 | 数值4 J ! 1234. 0000 7.2 float 和 real 样式备注:科学记数法,用慕的形式,有时可以方便的表示日常生活中遇到的一些较大的数。 例如:1.03乘10的8次方,可简写为“1.03E+08”的形式。 值 输出 0 默认值,最多包含6位。根据需要使用科学记数法。 1 始终为8位值。始终使用科学记数法。 2 始终为16位值。始终使用科学记数法。 -当style数值为0时,小数点左侧数字没有超过6位数,不会按科学记数法格式显示declare @Num float set @Num = 1231.5678 一。是默认值,style位不填写,就默认显示6个数字,CONVERT(varchar(50),稣um)这个写法也 可以select CONVERT(varchar (50) , @Num , 0) as 数值 1 口结果|心消息| 数值1 J 1 1231.57 -当style数值为0时,小数点左侧数字超过6位数,按科学记数法显示 declare @Num floatset ©Num = 123456789. 56 select CONVERT(varchar(50) , ©Num , 0) as 数值2 m结果消息1 数值2 \ 1.23457e+008 -当style数值为1时,小数点左侧数字没有限制,都会按科学记数法显示 declare @Num floatset @Num = 123. 56 select CONVERT(varchar(50),穆Num , 1) as 数值3 结果目消息| |数值3 1£ 1.23560005002 -当style数值为2时,小数点左侧数字没有限制,都会按科学记数法显示 declare ©Num floatset @Num 二 123. 56 select CONVERT(varchar(50) , @Num , 2) as 数值4 结果| 消息1 |数值4 1 |j 1.235600000000000e+002 7.3 date 和 time 样式 不带世纪位(yy) 带世纪位(yyyy) 输入(左侧数值)/输出(右侧格式) - 0 或 100 mon dd yyyy hh:miAM (或 PM) 1 101 1 = mm/dd/yy 101 = mm/dd/yyyy 2 102 3 103 3 = dd/mm/yy 103 = dd/mm/yyyy 4 104 5 105 5 = dd-mm-yy 105 = dd-mm-yyyy 6 106 6 = dd mon yy 106 = dd mon yyyy 7 107 7 = Mon dd, yy 107 = Mon dd, yyyy select getdateO as 当前系统 D 期 8 108 hh:mi:ss - 9 或 109 mon dd yyyy hh:mi:ss:mmmAM (或 PM) 10 110 10 = mm-dd-yy 110 = mm-dd-yyyy 11 111 II = yy/mm/dd III = yyyy/mm/dd 12 112 12 = yymmdd 112 = yyyymmdd - 13 或 113 dd mon yyyy hh:mi:ss:mmm(24h) 14 114 dd mon yyyy hh:mi:ss:mmm(24h) 20 或 120 yyyy-mm-dd hh:mi:ss(24h) 21 或 121 yyyy-mm-dd hh:mi:ss.mmm(24h) 126 yyyy-mm-ddThh:mi:ss.mmm (无空格) 127 yyyy-mm-ddThh:mi:ss.mmmZ (无空格) 130 dd mon yyyy hh:mi:ss:mmmAM 131 dd/mm/yyyy hh:mi:ss:mmmAM 二结果| -5消息| 当前系统日期 J 1 2018-09-20 01:39:34.823 I select convert(varchar(50) , getdate() , 108) as 当前系统时间 结果1 □消息1 1 当前系统时间 1 1 ! 01:41:40 一常用语法select convert(varchar(50) , getdateO , 120) as 当前系统日期 园结果| Lj消息|||当前系统日期 |f 2018-09-20 01:42:108> select into数据类型转换 一数值0自动转换为整型int一字符串’’自动转换为varchard),长度为1太短了,最好显式指定字符串长度 select top 1 empid , as tl , 0 as t2 into 转换表 1 from order 1 El消息I (1行受影响)E : J dbo. Student E E 3 dbo. Subject S C J dbo. Teacher 国E 2 dbo. test E : j dbo. testl s : J dbo. test2 ■ E U 1 dbo.订单表 s : 2 dbo.学生 国r 比。.转换表i E : J dbo. Student E E 3 dbo. Subject S C J dbo. Teacher 国E 2 dbo. test E : j dbo. testl s : J dbo. test2 ■ E U 1 dbo.订单表 s : 2 dbo.学生 国r 比。.转换表i 苹匚i视图 S LJ同义词 王匚a可编程性 E LJ Service Broker a LJ存储 +匚3安全蚌 设计(G) 偏辑前200行(B) 编写表脚本为(S) 查看依赖关系(V) 全文索引。) 策略粉 SQLQueryl. sql —,•ministrator WIN-5579AATH4RN---ntDB - dbo.转换表 1 X 列名I数据类型|允许Null值| ►J \ empid int 匠 tl var char (1) r t2 int r r ■精度型1. 2自动转换为精度型numeric(2, 1)一自动转换的精度型最好实际指定K度 select top 1 empid , '' as 11 , 1.2 as t2 into 转换表5 from orderl -显式指定字符串长度为50select top 1 empid , convert(varchar(50) , as tl , 0 as t2 into 转换表2 from orderl *消息| (1行受影响)I±1 s I±1 s dbo. t>peci all ty dbo. Student 田 口 dbo. Subject [+' dbo. Teacher 国 J dbo. test E 3 dbo. testl E 3 dbo. test2 田_J dbo.订单表 E □ db。.学生 田□ dbo.转换表1 新建表on... 设计(G) dbo.转换表2 孑LJ视图 > LJ同义词 迭择前1000行or) 编辑前200行(E) 编写表脚本为(S) 查看依赖关系(V) 全文索引CT) 策略(0) WIN-5579AATH4RN-ntDB - dbo.转换表 2 x] sql —,•ministratorj 列名 数据类型 允许Null值 ► int 17 L tl varchar (50) t2 int r --显式指定精度型decimal (9, 2) t2 into 转 select top 1 empid , '' as tl , convert(decimal(9 , 2) , 1.2) as 换表6 from orderl WIN-5579AATH4RN-• • ntDB - dbo.转换表6 X 1 dbo.转} 列名 数据类型|允许Null值 ► int tl varchar (1) r E t2 decimal (9, 2) r 9、union all数据数据类型转换-union all连接的数值有整型和字符串,字符串隐式转换为数值型 select * into 转换表3 from ( select 100 as empid , ' 1' as id union all select top 1 empid , id from order 1 where id=123 )tl 消息I (2行受影响) dbo.转换表3 ■6 ] union all 新建表 00. ..ect top ] E 设计(G) +. dbo. Teacher 王三 dbo. test + 二 dbo. testl .+. dbo. test2 E 口 dbo.订单表 H dbo.学生 0 □ dbo.转换表1 E 口 dbo.转换表2 S 3 —视图迭择前1000行0¥) 编辑前200行(E) 编写表脚本为(S) 查看依赖关系(V) 列名 数据类型| 允许Null值| int id int r ~ r SQLQueryl. sql —••ministrator (84))*WIN-5579AATH4RN-• • ntDB - dbo,转换表3 X ―观点: 验证: select ―观点: 验证: select union all连接的数值有整型和字符串,字符串隐式转换为数值型 字符串隐式转换为数值型 100 as empid , convert(varchar(1) , ' a') as idunion select union select all top 1 empid , id from order 1 where id=123:!结果上消息| 消息245,级别16,状态1,第1行SQLQueryl. sql —*ministr&tor (84)) SQLQueryl. sql —*ministr&tor (84)) 在将varchar值'1转换成痫S类型int B寸失败。 列名 数据类型 |允许Null值| ► int R id varchar (10) 17 r WIN-5579AATH4RN-ntDB - dbo.转换表4 X -union all连接的数值有整型和字符串,数值型显式转换为字符型i nto select *转换表4 from select union select tl 100all topas empid , convert(varchar(1) , '1') as id 1 empid , convert(varchar(10) , id) from ordcrl whereid=123 )| Jj消息|(2行受影响) E 王+ E+. 王 王+ dbo. Student dbo. Subject dbo. Teacher dbo. test dbo. testl dbo. test2 dbo.订单表 dbo,学生 dbo.转换表1 dbo.转换表2 dbo.转换表3 ■_ 6 新建表00... 设计缶)选择前1000行(W) 偏辑前200行(E) 编写表脚本为(S) 查看依赖关系(V)全文索引CT) dbo.转换表4策略(0) union all .ect top 1 empid,学习作业15布置:按本例实例练习一遍,并提交枫山
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服