【发布时间】:2014-06-05 15:24:52
【问题描述】:
类似问题:Pass number as a column name in select statement of Sql
我在 csv 文件中有一个名为 0.000 的列。如何使用oledb select 语句选择它?目前我有:
StringBuilder sbSelectItems = new StringBuilder();
sbSelectItems.Append("location_c, ");
sbSelectItems.Append("impb_, ");
sbSelectItems.Append("order_id, ");
sbSelectItems.Append(" `0.000` as shipCost, ");
sbSelectItems.Append("transmitta, ");
sbSelectItems.Append("piecelb ");
string sSelectStatement = "SELECT " + sbSelectItems.ToString() + " FROM [" + sFileName + "]";
但我收到一个错误,指出 '' 不是有效的列。我已经尝试了[0.000]、'0.000'、"0.000" 以及我目前拥有的内容,但我得到了文字值或为无效列引发的错误。该文件是通过我无权访问的程序自动生成的,因此我无法更改列名。
更新
尝试第一个答案中的示例时,我收到了一个错误,上面写着No value given for one or more required parameters. 所以我很困惑并做了一个SELECT * FROM... 和列名,当我这样做时,列名是tr110308#csv.01。我尝试选择值然后执行tr110308csv#csv.01,但我无法做到。
同样使用0#000 也没有用...
#62 是我想要的列。
【问题讨论】:
-
您确定
`是正确的符号吗?不应该是'。我的意思是,您正在尝试选择文字 0.000 作为名为 shipCost 的列,不是吗? -
使用
'为您提供文字值。我正在尝试获取名为0.000的列并将重命名为shipCost,以便在我的数据表中列名将是shipCost。如果你查看下面的代码,你会发现我已经尝试过了。 -
那么方括号呢?
[0.000] as shipCost -
@PedroC88,他已经在问题文本中尝试了方括号,以及单引号、双引号和反引号。