EXCEL中SQL Server Where 使用某一列的数据作为 查询条件的命令?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL中SQL Server Where 使用某一列的数据作为 查询条件的命令?相关的知识,希望对你有一定的参考价值。

命令如下:select a.* from tsuhan_test a where a.序列号 in ('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)报错列名无效,求指点,万分感谢
列描述c:\test.xls',sheet1$A:A)或者c:\test.xls',sheet1$A1:A10)都会在sheet1$这一段报错

1、将需要处理的记录复制到一个新的工作表,然后将在数据库表中存在唯一值的列(比如物料编码)后插入一列,用 CONCATENATE函数将其前后加上“'”。

2、将加“'”的这列数据复制到一个文本文件中。

3、关闭并保存这个新的文本文件,然后用Word 将其打开。

4、快捷键Ctrl+F,点击“替换”,查找内容中输入“^p”,替换为输入“,”。

5、在 sql server 的查询界面,输入以下SQL语句:use 数据库名,select * from  表名  ,where  字段名  in ,(Word 中的文本)。

参考技术A 你只是指定了表名,还应指定列名,SQL的IN子查询基本格式应该是:
select a.* from tsuhan_test a where a.序列号
in (select b.序列号 from [] b)
中括号里面的内容使用你的xls描述追问

就是不知道怎么加列描述

参考技术B ('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$A1:A500)
试试追问

提示“sheet1$A1“有语法错误

追答

('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',[sheet1$A1:A500])
试试这个。

追问

还是一样的提示列名无效

参考技术C sheet1$,两边加个中括号试试。

使用 SQL Server 2008 在 WHERE 子句中使用 SUBSTRING 函数 [重复]

【中文标题】使用 SQL Server 2008 在 WHERE 子句中使用 SUBSTRING 函数 [重复]【英文标题】:Use of SUBSTRING function in WHERE clause using SQL Server 2008 [duplicate] 【发布时间】:2015-07-09 12:22:53 【问题描述】:

我正在使用 SQL Server 2008 和 Microsoft Visual Studio 2008。我有一个数据库表,其中包含数据和时间列作为字符串。在该列中,我有日期和时间。在我的应用程序中,我必须选择日期并基于该日期。我必须从表中获取数据并显示数据网格视图控件。

所以我只想比较日期。

我参考了以下链接。但这对我不起作用。

Use of SUBSTRING function in where clause

我试过这个查询,但它不适合我。

SELECT * 
FROM tAerator 
WHERE SUBSTRING(fldAEdnt, 0, 10) = '07-07-2015' 

你能告诉我解决这个问题的方法吗?

感谢和问候

【问题讨论】:

相关:***.com/questions/113045/… -- 此外,为什么要将时间戳存储为 varchar? 会发生什么?你有错误吗? 很好的答案,但真正的问题不在这里。为什么你允许将日期存储为字符串? 【参考方案1】:

试试这个

SELECT * FROM tAerator WHERE Convert(date,fldAEdnt)='2015-07-07'

【讨论】:

【参考方案2】:
SELECT * FROM tAerator WHERE SUBSTRING(fldAEdnt,1,10)='07-07-2015'

将0改为1,因为在sql server中字符串开始索引为1

【讨论】:

您应该添加您更改的内容,因为乍一看它看起来完全一样。 @SujiD 没问题。但我们实际上不应该将日期+时间作为字符串存储在数据库中。我猜你正面临一些旧数据库。 @SujiD 如果有帮助,请采纳~

以上是关于EXCEL中SQL Server Where 使用某一列的数据作为 查询条件的命令?的主要内容,如果未能解决你的问题,请参考以下文章

where 子句中使用的 SQL Server 查询性能视图

在 SQL Server 存储过程的 where 中使用参数作为列

如何提高SQL Server大数据条件下的查询速度?

无法在 SQL Server 2008 中使用 where 子句获取 nvarchar 类型数据

使用 SQL Server 2008 在 WHERE 子句中使用 SUBSTRING 函数 [重复]

WHERE 子句中的 OR 会降低 sql 查询性能(sql server)