Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL在非数字值之间的替代方法_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

SQL在非数字值之间的替代方法

SQL在非数字值之间的替代方法,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我的一列中有非数值。我正在使用下面的中间运算符,但我认为对于非数字值,不建议使用中间运算符,请有人建议我如何重写此查询。BETWEEN显示了正确的结果,但我无法在此处将其用于非数值: select * from test where textnumber between ('a64') AND ('a64.3'); 你总是可以把一个中间部分分解成它的组成部分 SELECT * FROM test WHERE textnumber >= 'a64' AND textnumber &l

我的一列中有非数值。我正在使用下面的中间运算符,但我认为对于非数字值,不建议使用中间运算符,请有人建议我如何重写此查询。BETWEEN显示了正确的结果,但我无法在此处将其用于非数值:

select * from test
where textnumber between ('a64') AND ('a64.3');
你总是可以把一个中间部分分解成它的组成部分

SELECT * 
FROM test
WHERE textnumber >= 'a64'
  AND textnumber <= 'a64.3';
事实上,如果你读过亚伦·伯特朗的博客,你会发现他实际上是在推荐它。尤其是约会,尽管你现在不在考虑这个问题


还要注意字符串和数字不一样。例如,“a64.30”将不会被上述查询提取。

您希望通过此查询获取哪些值?如何剥离where子句中的字母并将其添加回select中。它总是一个字符的字母吗?我想得到a64,它使用BETWEEN操作符作为后端SQL,但它不适用于代码中的逻辑。不使用中间运算符的另一种方法是什么。此外,我不想为thsi目的创建任何临时表。?你能详细说明一下吗?我刚刚运行了这个查询,它运行得很好。如果你找一个像A64.22这样的值,那就不必考虑了。