SQL - 在 varchar 列之间的 WHERE
SQL - WHERE between on varchar column
我有一个 table company
列 customerID
并且我希望每个客户 ID 从 80000 到 80999。
但是 customerID
列是 varchar,其中一些包含字母。
所以,我必须将 customerID
放入“ ”,当我尝试此查询时:
select *
from company
where customerID between '80000' and '80999'
它 returns 也 customerID
例如 800。
知道如何解决这个问题吗?
您可以使用正则表达式来格式化。像这样的事情应该让你开始 Query to get only numbers from a string
where customerID between '80000' and '80999'
and character_length(customerID) = 5 -- only five digit IDs
如果 CustomerID 是整数(它应该是整数),则不需要在数字两边加上引号。应该可以解决问题:
select *
from company
where customerID between 80000 and 80999;
我有一个 table company
列 customerID
并且我希望每个客户 ID 从 80000 到 80999。
但是 customerID
列是 varchar,其中一些包含字母。
所以,我必须将 customerID
放入“ ”,当我尝试此查询时:
select *
from company
where customerID between '80000' and '80999'
它 returns 也 customerID
例如 800。
知道如何解决这个问题吗?
您可以使用正则表达式来格式化。像这样的事情应该让你开始 Query to get only numbers from a string
where customerID between '80000' and '80999'
and character_length(customerID) = 5 -- only five digit IDs
如果 CustomerID 是整数(它应该是整数),则不需要在数字两边加上引号。应该可以解决问题:
select *
from company
where customerID between 80000 and 80999;