如何区分查询出来的数据是数值型还是字符串型?

iamybj 2011-02-10 03:36:10
很多把数据导出到txt文件的程序,都会构造成insert语句的形势,这时数值型直接后面一个逗号,但是字符串型会加上两个单引号,这是怎么实现的呢?
比如要构造这样的输出结果:
insert into dd(Code,Name,ddd,ddddddd,cccccc) values (13,'ddd',1,0,'sdfsd');
insert into dd(Code,Name,ddd,ddddddd,cccccc) values (14,'dddsd',1,2,'sdfs');
insert into dd(Code,Name,ddd,ddddddd,cccccc) values (15,'sdsd',1,2,'sd');
insert into dd(Code,Name,ddd,ddddddd,cccccc) values (16,'sdsdf',1,2,'qwwew');
...全文
281 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
旅行者I号 2011-02-10
  • 打赏
  • 举报
回复
1.数值型的也可以用单引号
你可以导出成insert into dd(Code,Name,ddd,ddddddd,cccccc) values (‘13’,'ddd',‘1’,‘0’,'sdfsd')

2.如果想导出成你给出的形式,可以从判断列的类型入手

--查出该表所有列的信息
select * from sys.all_columns a inner join sys.all_objects b on a.object_id=b.object_id
where b.[name]='MyTableName'

其中system_type_id为其类型id,比如56表示int
关于类型的详情可以select * from sys.systypes看看


  • 打赏
  • 举报
回复
你“查询出”时就应该已经知道分别放入声明为不同类型的变量code、name、d1、d2、c里边了。不然怎么查呢?

你到底怎么查数据库?
  • 打赏
  • 举报
回复
唉!
  • 打赏
  • 举报
回复
[Quote=引用楼主 iamybj 的回复:]
很多把数据导出到txt文件的程序,都会构造成insert语句的形势,这时数值型直接后面一个逗号,但是字符串型会加上两个单引号,这是怎么实现的呢?
[/Quote]

writer.WriteLine("insert into dd(Code,Name,ddd,ddddddd,cccccc) values ("+ code.ToString()+
",'"+name+"',"+d1.ToString()+","+d2.ToString()+",'"+c+"');");
wuyq11 2011-02-10
  • 打赏
  • 举报
回复
正则判断数字型
如 if (Regex.Match("",@"\d+").Success)){}
zthsn 2011-02-10
  • 打赏
  • 举报
回复
用 正则表达式
q107770540 2011-02-10
  • 打赏
  • 举报
回复
int.TryParse()
Regex.IsMatch("","[a-zA-Z]")

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧