
正文
包含varchar转datepostgre的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
将数据类型varchar转换为datetime时出错,是怎么回事??
你最终生成的begindate格式为“2011-1”,这当然不是合法的日期格式,所以无法转换。你在最终生成的数据后加上“-1”,变成“2011-1-1”这就符合yyy-mm-dd的日期格式了。
应该是varchar里面的时间范围超出了datetime类型的范围,建议使用datetime2,。背景知识:SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset。
把存储过程的两个时间参数一样改成varchar,然后把你的strstartdate用标准格式传入比如strstartdate.tostring(yyyy-MM-dd hh:mm:ss)这种,如果需要参数转换,在存储过程中用数据库的转换函数来转换时间格式。
提示很明显是在varchar类型转到datetime类型时出错,这个时间是你选择的还是输入的?根据经验有可能是日期超出了范围。比如2月只有28天,要转换的varchar是2015-02-30这样的情况。
相关问答
Q1: MySQL字符varchar转换为int、date
1、可以使用Convert(字段名, 类型)方法来进行转换。
2、mysql时间戳转换日期格式mysql数据库的日期字段类型建议为varchar或者char,存入时间戳。取出的时候,将时间戳转换为你需要的时间格式就好。MySQL中,将INT类型的时间戳转换为UTC时间,可以使用FROM_UNIXTIME()函数。
3、varchar类型转换成int类型的方法。如下参考:打开数据库连接客户端NavicatPremium,并创建一个新的表结构,其中age列被故意设置为varchar,如下图。成功创建表之后,从刚才创建的表中创建一些数据,如下图。
Q2: 如何用SQL把varchar型的转化成datetime型的
SQL语句把int型转换为datetime型可以利用LELECT函数。举例来说:有可能是与一个基数对比,比如:SELECT datediff(day,1952-2-1,2018-1-8) ,datediff(n,00:00,07:00)。
login,logout 这两个字段数据类型是varchar型的不能进行datediff,要把这两个字段的数据类型转成datetime型才能进行datediff。
用cast函数来进行转换。先利用cast函数将数字型转为字符型,再用一次cast函数将字符型转为日期型。
应该是varchar里面的时间范围超出了datetime类型的范围,建议使用datetime2,。背景知识:SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset。
关于varchar转datepostgre和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






