簡體   English   中英

如何將 nvarchar 轉換為 int

[英]how to Convert nvarchar to int

我需要根據包含數字的 nvarchar 列獲取數據,我收到此錯誤:將 nvarchar 值“362X”轉換為數據類型 int 時轉換失敗。 我試過這個:

select  modelcode from model 
where  cast(modelcode as int )> 10000 - ERROR
where  cast(modelcode as bigint )> 10000 - ERROR
where  pws_modelcode+0 > 10000 - ERROR
order by ModelCode asc

我錯過了什么?

在 SQL Server 中,您可以使用try_convert()try_cast()

where try_cast(modelcode as int) > 10000

在其他數據庫中,您可以使用帶有正則表達式的case

where (case when modelcode ~ '^[0-9]+$' then cast(modelcode as int) end) > 10000

將除減號以外的所有非數字字符替換為 null,然后轉換為 INT。

select  modelcode from model where  cast(REGEXP_REPLACE(modelcode,'^0-9-','') as int )> 10000 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM