表中有一个字段的类型是char(1), txt文件中该字段中的值是数字时可以正常select出来,是字母时select出来就是null了,怎么回事呢?
解决方案 »
- 索引的简单问题,懂点索引的人都可以进来指教
- 50万条数据以下,sql server 与my sql 的数据库搜索性能相比如何?
- where子句中null值怎么写?
- 汉字列表生成和汉字首字母查询问题
- //method 2 独立方式?
- SQL语句性能问题,咋就相差那么大呢?
- 怎样将SQL2000服务器上的数据导入本地库,例如PB的本地库?急!!
- 多线程访问SQL Server 2000造成阻塞的问题?
- 大家看一下~
- 如何在SQL-SERVER中实现数据集的交集和差集(在线给分)
- select *from abc 能不能将第1列数据重复的再显示在表后面呢?马上结贴,从不拖拉。
- 计算字符串相似度的函数,为什么运行十分缓慢?!!
是有空格,但是若是数字的话也有空格,为什么能读出呢。
而且从txt中select时并没有涉及到字段类型。
是不是sql server默认为某种类型了。
select *
from OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=D:\')...[file#txt]
file.txt中3行数据(第一行是表头字段):
a,b,c
309104 , 1, A464930
309105 , f, A464931用上面的脚本,select出的值是:
309104 1 A464930
309105 NULL A464931
你试试309105 , ‘f’, A464931 就可以证明了
问题是从txt文件中select的时候并没有涉及到字段类型。有个字段的数据是 000023,字符型。用OPENDATASOURCE时会默认为数字型,从而自动去掉前面的0。用OPENROWSET也是一样的。