请问下,sqlserver2012如何将datetime转为int
我有一个sqlserver2012数据库,其某个字段是date的,我想将其变为int,但是直接改表定义不行啊,所有的数据都是date形式的呢!如何更改保证每一行数据的该字...
我有一个sqlserver2012数据库,其某个字段是date的,我想将其变为int,但是直接改表定义不行啊,所有的数据都是date形式的呢!如何更改保证每一行数据的该字段都从date转为int呢?
展开
3个回答
展开全部
楼主 需要提醒你的是数据类型不是你想怎么转就怎么转的 特别是字符串或日期转整型
字符串和日期 必须符合整型的要求 整型是数字 字符串如果是数字的形式才可以转换 如果是汉字字母的话 你觉得能转换为数字吗? 肯定不行 日期也类似 如果日期类型是20130805这样的格式 你转换就没有问题 否则肯定报错
然后给你转换的 语法吧
--方法一:
select cast(字段名 as int)
--方法二:
select convert(int,字段名)
--有什么疑问可以随时问我 希望能够帮到你
字符串和日期 必须符合整型的要求 整型是数字 字符串如果是数字的形式才可以转换 如果是汉字字母的话 你觉得能转换为数字吗? 肯定不行 日期也类似 如果日期类型是20130805这样的格式 你转换就没有问题 否则肯定报错
然后给你转换的 语法吧
--方法一:
select cast(字段名 as int)
--方法二:
select convert(int,字段名)
--有什么疑问可以随时问我 希望能够帮到你
更多追问追答
追问
追答
--这样就可以了
select cast(replace(convert(char(10),date11,120),'-','') as int)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询