SQL数据类型转换 我使用的是ACCESS数据库。

SQL数据类型转换 我使用的是ACCESS数据库。,第1张

sql="select sum(cdbl(zfkuan) as zgd from zhi_rui_e_Word where cid="&fk&""

cdbl就是将文本转数字的,如果你里边是整数,可以把cdbl换成int,这样就能sum了

sql语句我不知道怎么实现,我认为可以通过asp、net之类的实现,思路如下:

遍历所有的字符,然后将获取每个字符的asc码,将不是数字的替换为空(数字的asc范围应该是48-57,包含上下限,即0的asc为48,9的asc为57)

例如“横16”,遍历产生会循环三次,产生的asc分别是 -17695,49,54,判断当大于57或者小于48时,字符为空,然后合并所有的字符,最后数值类型转换即可!

是Excel导入到Access里吧一般是往Access的数字字段导数据容易出现类型转换错误

单元格虽然设置成文本了,但仅是格式而已,本质仍是数字,

找1个类型转换错误的行试一下:双击单元格进入编辑状态,再退出,然后再导入1次,看看此行还有错吗

可以用函数转换:

数字转文本:=left(A1,100)

文本转数字:=A1+0

向下复制公式,然后复制、选择性粘帖为数值即可

VB对于字符串的运用已经非常好了。

那么关于ACCESS的运用如下解释:

1:字符串转换日期格式

A类:CDATE函数转换,将字符串直接转换成日期。

例子:Print Cdate("1/1/2017")

结果:2017-01-01

B类:FORMAT函数转换

dim S as string

S="2017-1-1"

S="1/1/2017"

等等S类型,但是起码保证S字符串是日期响应内容,比如S="贰零壹柒年三月一日"看起来是日期,其实并非日期所需的字符串内容

例子:Print Format(s,"YYYY-MM-DD")

后面的YYYY是年,YY是二位数的年,MM是二位数的月,一个M是不带0开头的月,DD同理。返回一个日期格式字符串。

------------------------------------------------------------

上诉是日期转换类,比较省事的是CDATE,比较自定义的是FORMAT,以比较另类的YEAR()函数+MONTH()函数=DAY()函数去获取字符串的对应年份,月份,日期。

下面说日期格式对比,加减等等。

A:DateADD("类1",类2,“日期格式”)

解释:类1=M就是计算月,D是日,Y是年。

类2,是一个数字,整形数字,不能有小数点,可以是正负。

日期格式,这个不用怎么解释了。

例子:Dateadd("m",1,"2017-01-01"),Dateadd("m",-1,"2017-01-01")

结果:2017-02-01 2016-12-01

解释:在2017-01-01的日期上,增加(1)个(m)月,第二个是增加(-1)个月,或者说是减少一个月。

M可是换成Y,成为减少年,换成D,减少天数。

B:DateDiff (interval, Date1 , Date2)

interval={Y,Q,M,D,W,H,N,S}

分别是年,季度,月,日,星期,小时,分,秒等等。

例子:DateDiff("m","2016-01-01","2017-01-01")

结果:12个月,换成其他的,比如d=366天,比如h=8784小时,比如s=31622400秒

总结:

Cdate,Format 函数用来转换字符串到日期格式。

Year(),Month(),Day()获取字符串中的年份,月份,日

DadeAdd()将目标日期,增加或者减少指定数值的年月日等。

DateDiff()获取二个日期之间的时间差,而时间差根据指定参数获得。

其中Format("2017-1-1","aaaa")这个函数比较奇妙,结果是获取当前日期的星期,比如结果是星期一这样的中文结果,当然,这是因为我们的地区设置是中国,若是外国可能返回英语啊德语啊什么的。

不知道是否满足你的需求呢?若不能或者本人对命题理解错误,请回复我。

由于SQL2000里面没有"自动编号",所以你的以"自动编号"设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的"标示"选择"是",种子为"1",增量为"1",

2,另外,ACCESS2000转换成SQL2000后,原来属性为"是/否"的字段将被转换成非空的"bit",这时候你必须修改成自己想要的属性了;

ACCESS转SQL

SERVER中的一些经验

1ACCESS的数据库中的自动编号类型在转化时,sql

server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!

2转化时,跟日期有关的字段,SQL

SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。

3对此两种数据库进行 *** 作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete

from

user

where

id=10",而对SQL

SERVER数据库进行删除是用:"delete

user

where

id=10"

4日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对

SQL

SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。

5在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL

SERVER数据库处理中,却不能用。

1、必须先安装Microsoft

Office

Access

2003,和SQL

Server2000。2、把旧的动网数据库备份,备份完成后,用Access

2003打开动网旧数据库,在打开时会出现一个警告,不要理会它(安全警告),按打开键,打开后按工具栏——数据库实用工具——转换数据库——转换为2002-2003格式,把数据库转换成2003格式。

2、转换完成后再用Access

2003打开,打开后按工具栏——数据库实用工具——升迁向导——新建数据库——填写SQL数据库登陆名称、密码和要新建的动网数据库(准备转成新的动网数据库),按下一步,按“

》”键,再按下一步,选取所有选项,再按下一步,选择“不对应用程序作任何改动”,再按完成。

3、打开SQL企业管理器——数据库吹礁詹判陆ǖ亩菘饬税桑慊髡飧鍪菘庖幌拢缓笤诠ぞ呃浮/FONT>SQL脚本——常规——全部显示——编写全部对象脚本——确定(记住存放的位置)。

4、用记事本打开刚才生成的SQL脚本,在编辑栏——替换——查找内容为“smalldatetime”替换为“datetime”——替换全部;完成后再在编辑栏——替换——查找内容为“nvarchar”替换为“varcha”——替换全部,完成后保存退出。

5、打开SQL企业管理器——数据库——点击这个数据库一下新建的动网数据库,然后在工具栏——SQL查询分析器——文件——打开——“刚才生成的SQL脚本”——查询——执行,然后关闭窗口。

6、再回到SQL企业管理器——数据库——点击这个数据库一下新建的动网数据库,然后打开工具栏——数据库转换服务——导入数据——下一步——数据源“Microsoft

Access”文件名“为旧的动网数据库”——下一步——再下一步——从源数据复制表和视图——下一步——全选——下一步——立即运行——下一步——完成。

7、修改动网文件夹两个文件connasp和inc\constasp。

SQL时间函数是getdata()

参考资料:

网上整理,因为当初我也碰到这问题

strConv是编码转换的意思。。

返回一个按照指定方式转换的 Variant (String) 值。

语法

StrConv ( 字符串,换算 [、 LCID ] )

StrConv函数语法具有以下参数:

参数

说明

字符串

必填。要转换的表达式的字符串。

转换

必填。整数。指定要执行的转换类型的值的总和。

LCID

可选。LocaleID,如果不同于系统 LocaleID。(系统 LocaleID 是默认值)。

设置

转换 参数设置为:

常量

说明

vbUpperCase

1

将转换为大写字符的字符串。

vbLowerCase

2

将转换为小写字符的字符串。

vbProperCase

3

将转换为大写的字符串中的每个单词的首字母。

vbWide

4

将窄 (单字节) 字符为宽 (双字节) 字符的字符串中。

vbNarrow

8

将转换为窄 (单字节) 字符的字符串中的宽 (双字节) 字符。

vbKatakana

16

将字符串中的平假名字符转换为片假名字符。

vbHiragana

32

将字符串中的片假名字符转换为平假名字符。

vbUnicode

64

将字符串转换为Unicode使用系统默认代码页。(在 Macintosh 上不可用。)

vbFromUnicode

128

将字符串从 Unicode 转换为系统默认代码页。(在 Macintosh 上不可用。)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/12182852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存