选择记录失败铸造varchar列bigint
问题描述:
有没有一种简单的方法来获取所有记录的位置投掷varchar列到一个bigint会失败?这将导致转换错误:选择记录失败铸造varchar列bigint
SELECT CAST(IMEI AS BIGINT)FROM RMA
使用此SQL为例:
if OBJECT_ID('tempdb..#RMA') is not null
DROP TABLE #RMA
CREATE TABLE #RMA
(
IMEI VARCHAR(20)
)
INSERT INTO #RMA(IMEI)VALUES('352382021485772')
INSERT INTO #RMA(IMEI)VALUES('352022033456409')
INSERT INTO #RMA(IMEI)VALUES('BN332VWY653577440220')
SELECT * FROM #RMA
SELECT CAST(IMEI AS BIGINT)FROM #RMA
DROP TABLE #RMA
所以,在这个例子中我只需要记录与IMEI = 'BN332VWY653577440220'。
谢谢。
答
尝试T-SQL ISNUMERIC
功能:
SELECT IMEI
FROM #RMA
WHERE ISNUMERIC(IMEI) = 0 -- not numeric
哦,我忘了那个功能。谢谢 – 2010-12-02 13:28:01