簡體   English   中英

在SQL中訂購nvarchar值

[英]Order the nvarchar values in SQL

嘗試與查詢一起訂購時

SELECT ACTT 
FROM AIKUcusSaatleri
ORDER BY ACTT

此功能無法正常工作。 結果如下所示;

ACTT
0
1040
1042,6
873,8
996,6
996,6
997,6

這個問題的原因是什么?

預先致以問候和感謝。

但是這些命令正確無誤。 如果您意識到它們是字符串。

將數字存儲為數字。 如果要將字符串按數字排序,則需要對其進行轉換。 你可以試試:

order by cast(actt as numeric(20, 2))

這可能會或可能不會使用逗號,具體取決於您的數據庫和國際化設置。 如果用小數點替換逗號,它應該可以工作:

order by cast(replace(actt, ',', '.') as numeric(20, 2))

您的代碼中沒有可用的函數, order by是一個子句,也許您需要:

如果是這樣,假設使用SQL Server DBMS,則可以執行以下操作:

SELECT ACTT 
FROM AIKUcusSaatleri 
ORDER BY LEFT(ACCT, CHARINDEX(',', ACTT)-1);

如果,視為小數. ,那么您需要進行對話:

SELECT ACTT 
FROM AIKUcusSaatleri 
ORDER BY CAST(REPLACE(ACTT, ',', '.') AS NUMERIC(20, 2));

暫無
暫無

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

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