亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go 和 PostgreSQL 的排序順序不同

Go 和 PostgreSQL 的排序順序不同

Go
九州編程 2022-06-21 16:45:02
對文本數組進行排序的 SQL 查詢SELECT unnest(ARRAY['Go', '[Bravo]', 'Gopher', '[Alpha]', 'Grin', 'Delta']) ORDER BY 1 ASC; unnest  --------- [Alpha] [Bravo] Delta Go Gopher GrinGO 代碼對字符串數組進行排序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]]}為什么結果不一樣?
查看完整描述

2 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

似乎 Go 使用“ascii”排序。


您可以collate "C"在 Postgres 中使用:


SELECT word

from unnest(ARRAY['Go', '[Bravo]', 'Gopher', '[Alpha]', 'Grin', 'Delta']) as t(word) 

ORDER BY word collate "C" ;


查看完整回答
反對 回復 2022-06-21
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

在您的 SQL 查詢中,您unnest使用數組。這似乎給出了一個排序順序,沒有或不考慮[and ]。

在 go 中,方括號被視為字符串的一部分。這兩個函數似乎都按字典順序排序。


查看完整回答
反對 回復 2022-06-21
  • 2 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號