[英]Functioning of MAX in t-SQL for INT and VARCHAR Datatypes
昨天早上,我的經理給了我一個新的數據庫,我不得不在其中編寫一些SQL存儲過程。 有一列MM用於數字值,因此我了解到Sql Function MAX可以在其上使用。 但是事實並非如此。
這是一個varchar列,其中包含從1到41隨機存儲的數值。我假設我的SQL語句:“ SELECT MAX(MMS)FROM tbl”將給出41,但結果為9。
后來,我投資該MAX與字符串數據類型一起使用時,從列中獲取第一個數字字母,然后從中獲得MAX。
有人知道為什么會這樣嗎?
從這里:
http://msdn.microsoft.com/en-uk/library/ms187751.aspx
對於字符列,MAX在整理序列中找到最大值。
如果要按數字對列的內容進行排序,可以執行以下操作:
ORDER BY len(mms), mms
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.