access数据库类型转换失败原因是字符串的处理不当引起的。
比如要更新姓名字段:
UPDATE 4 SET [4]姓名 = IIf(InStr([4]![姓名],";")=0,[4]![姓名],Left([4]![姓名],InStr([4]![姓名],";")-1))
以上用了instr来处理,这样;号就会有问题
应该改成:UPDATE [4] SET [4]姓名 = IIf(InStr([4]![姓名],";")=0,[4]![姓名],Left([4]![姓名],InStr([4]![姓名],";")-1))
问题就解决了。
改是能改,5位的你要舍掉一位,你舍哪位啊?
update table_name set date=substring(date,1,4) 这样是从第一位取四位,把最后一位舍掉
然后你在alter表,把类型转换了就行了
用CAST或者CONVERT
cast(1256
as
char)
CONVERT(char,1256)
语法
使用
CAST:
CAST
(
expression
AS
data_type
)
使用
CONVERT:
CONVERT
(data_type[(length)],
expression
[,
style])
参数
expression
是任何有效的
Microsoft®
SQL
Server™
表达式。有关更多信息,请参见表达式。
data_type
目标系统所提供的数据类型,包括
bigint
和
sql_variant。不能使用用户定义的数据类型。有关可用的数据类型的更多信息,请参见数据类型。
length
nchar、nvarchar、char、varchar、binary
或
varbinary
数据类型的可选参数。
style
日期格式样式,借以将
datetime
或
smalldatetime
数据转换为字符数据(nchar、nvarchar、char、varchar、nchar
或
nvarchar
数据类型);或者字符串格式样式,借以将
float、real、money
或
smallmoney
数据转换为字符数据(nchar、nvarchar、char、varchar、nchar
或
nvarchar
数据类型)。
SQL
Server
支持使用科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表示将
datetime
或
smalldatetime
转换为字符数据的
style
值。给
style
值加
100,可获得包括世纪数位的四位年份
(yyyy)。
确定你SQL服务器上日期时间格式
然后把scandate逐一提取出来,变成一时间格式
例:
20070122161307->
2007-01-22 16:13:07
Cast (
(
SubString(scandate,1,4)+'-'+SubString(scandate,5,2)+'-'+SubString(scandate,7,2)+' '+SubString(scandate,9,2)+':'+
SubString(scandate,11,2)+':'+SubString(scandate,13,2)
) As DateTime )
以上就是关于access数据库类型转换失败全部的内容,包括:access数据库类型转换失败、数据库字段类型强制转换、如何在sql server中把数据库中money类型转换为char类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)