经典 asp 使用 SQL Server 2014 在 SQL 查询中将 varchar 转换为 int
Classic asp convert varchar to int in SQL query using SQL Server 2014
我正在更新使用经典 asp 并曾经使用 SQL Server 2003 的旧站点。sortorder
列存储为 varchar
。
以下内容用于将 varchar
列转换为 int
,然后可以在输出中对其进行排序(数字为 1-20)。现在返回的记录从“1”到“10”,然后是“11”等等。它仍然将它们视为 varchar
。
我是否需要将经典 asp 文件转换为适用于 SQL Server 2014 的新文件?我试过转换和解析。
RQ="Select *, convert(int, sortorder) from table Where theid=1 order by sortorder"
Set rs = Connect.Execute(Rq)
感谢您提供的任何帮助。我已经检查了这里的答案,但找不到任何更新的 SQL 服务器数据库与经典 ASP。
您需要在 ORDER BY
子句中转换为 INT
,以便正确排序:
RQ = "Select * from table Where theid=1 order by convert(int, sortorder)"
Set rs = Connect.Execute(Rq)
仅在 SELECT
的列列表中进行转换没有帮助...
provided by @marc_s 是正确的。只是想详细说明我如何处理 SQL 查询中的转换以避免这些类型的问题。
因此您不必多次指定 CONVERT(INT, sortorder)
围绕您的查询的简单包装使其更易于使用。
SELECT t.*
FROM (
-- List only the columns required.
SELECT [col1], [col2], ... , CONVERT(INT, sortorder) [sortorder]
FROM [table]
WHERE [theid] = 1
) t
ORDER BY t.sortorder
理想情况下,@marc_s has 更好的数据库设计将消除对此类解决方案的需求。
我正在更新使用经典 asp 并曾经使用 SQL Server 2003 的旧站点。sortorder
列存储为 varchar
。
以下内容用于将 varchar
列转换为 int
,然后可以在输出中对其进行排序(数字为 1-20)。现在返回的记录从“1”到“10”,然后是“11”等等。它仍然将它们视为 varchar
。
我是否需要将经典 asp 文件转换为适用于 SQL Server 2014 的新文件?我试过转换和解析。
RQ="Select *, convert(int, sortorder) from table Where theid=1 order by sortorder"
Set rs = Connect.Execute(Rq)
感谢您提供的任何帮助。我已经检查了这里的答案,但找不到任何更新的 SQL 服务器数据库与经典 ASP。
您需要在 ORDER BY
子句中转换为 INT
,以便正确排序:
RQ = "Select * from table Where theid=1 order by convert(int, sortorder)"
Set rs = Connect.Execute(Rq)
仅在 SELECT
的列列表中进行转换没有帮助...
因此您不必多次指定 CONVERT(INT, sortorder)
围绕您的查询的简单包装使其更易于使用。
SELECT t.*
FROM (
-- List only the columns required.
SELECT [col1], [col2], ... , CONVERT(INT, sortorder) [sortorder]
FROM [table]
WHERE [theid] = 1
) t
ORDER BY t.sortorder
理想情况下,@marc_s has