對(duì)文本數(shù)組進(jìn)行排序的 SQL 查詢SELECT unnest(ARRAY['Go', '[Bravo]', 'Gopher', '[Alpha]', 'Grin', 'Delta']) ORDER BY 1 ASC; unnest --------- [Alpha] [Bravo] Delta Go Gopher GrinGO 代碼對(duì)字符串?dāng)?shù)組進(jìn)行排序https://play.golang.org/p/UsWAKTz2Zj4package mainimport ( "fmt" "sort")func main() { s := []string{"Go", "[Bravo]", "Gopher", "[Alpha]", "Grin", "Delta"} sort.Strings(s) fmt.Println(s) // prints [Delta Go Gopher Grin [Alpha] [Bravo]]}為什么結(jié)果不一樣?
2 回答

慕虎7371278
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
似乎 Go 使用“ascii”排序。
您可以collate "C"在 Postgres 中使用:
SELECT word
from unnest(ARRAY['Go', '[Bravo]', 'Gopher', '[Alpha]', 'Grin', 'Delta']) as t(word)
ORDER BY word collate "C" ;

呼如林
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
在您的 SQL 查詢中,您unnest
使用數(shù)組。這似乎給出了一個(gè)排序順序,沒有或不考慮[
and ]
。
在 go 中,方括號(hào)被視為字符串的一部分。這兩個(gè)函數(shù)似乎都按字典順序排序。
- 2 回答
- 0 關(guān)注
- 144 瀏覽
添加回答
舉報(bào)
0/150
提交
取消