例 資料為: sh201911 wx201910 shx201908 keid201911 這種都是字母開頭 年月結果的格式 。欄位屬性是文本型的。我現在要把年月取出來。然后和別的做對比。
RIGHT (TD002,6)+0 <201911
但最后并沒有搜到小于201911的資料。 資料確定存在的。是不是這個文本不能比較的。還是哪里有問題? 具體命令如下:
select * from dbo.COPTD WHERE RIGHT (TD002,6)+0 <201911 and TD016='N'
uj5u.com熱心網友回復:
用nvarchar測驗了一下應該是可以的,TD002具體是什么欄位型別?--測驗資料
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([TD002] nvarchar(30))
Insert #T
select N'sh201911' union all
select N'wx201910' union all
select N'shx201908' union all
select N'keid201911'
Go
--測驗資料結束
Select * from #T WHERE RIGHT (TD002,6) <201911
uj5u.com熱心網友回復:
TD002 是文本型的。uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
另外問下,做對比的資料,我用201911 和用 '201911' 會有區別嗎uj5u.com熱心網友回復:
CHAR(11)型別的不行,因為有空格,你輸出一下就知道了Select RIGHT(TD002,6),* from #T WHERE RIGHT(TD002,6) <201911

改成這樣試試
Select RIGHT(REPLACE(TD002,' ',''),6),* from #T WHERE RIGHT(REPLACE(TD002,' ',''),6) <201911
uj5u.com熱心網友回復:
明白了。感謝 。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/117605.html
標籤:疑難問題
下一篇:郵箱病毒
