sqlserver中如何把字符串转换成数字?

时间:2021.08.11 发布人:lxq958

sqlserver中如何把字符串转换成数字?

已解决问题

谷歌lxq958用户在2021.08.11提交了关于“v5sqlserver中如何把字符串转换成数字?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-27T22:32:48。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,我不知道说什么才好,除了谢谢 !

希望以下的回答,能够帮助你。

第1个回答

用户名:匿名用户  

SQL

**RVER

2005中,将表中字符串转换为数字的函数**2个:

1.convert(int,字段名)例如:selectconvert(int,'3')

2.cast(字段名asint)例如:selectcast('3'asint)

其实,一般情况下没有必要把字符串转换为数字类型

怕附验给指形扬派如需要比较两个字段是否相等,但是一个字段为字符串类型,一个为数字类型,用“=”比较两个值是否相等时,SQL

**RVER

会自动把字符串转换为数字再比较的!

例如:

selectda.TITLE_NAME,*相却已种类温翻非旧践**.NAME

fromdbo.DV_DUTYdd

innerjoinDV_**COND_CLASSdscon(dsc育段硫蛋除手那染的背.ID=dd.AREA)

leftjoinDV_ASSETdaon(da.ID=dd并绿学经常诗娘稳还.RECORD_IDanddd.TYPE='2')

wheredd.A促开收助值果争难在REAisnot**ll

这个SQl

中,inne以支远检全求氢城蒸器取rjoinDV_**COND_CLASSdscon(数般头局类要无构误dsc.ID=dd.AREA)中dsc.ID为数字类型,dd.AREA为字符类型,相当于这样on(1='1')的判断,这时候就会自动吧字符串的'1'转换为数字类型再比较的。

但是也有物啊娘纪卫弊端,一旦字符类型转换为数字类型出错(说明字符串的确就非数字组成的),S儿贵QL

就会抛出异常。

SQL

**RVER

2005中有判断字段是否为数字的函数:

IS**MERIC(字段名)-----假如字段是数字类型返回1,不是就返回0

但是好温田福卷历载社望像有的时候不好使,比如:selectis**meric('3,34')就返回1

说明这个函数对字段值中全是数字但是数字间用“,”和“.”(逗号或点)隔开的都视为数字了!