我试图搜索这个,但是使用符号几乎不可能获得结果。这两者之间是否存在差异,例如:被放入C#中的查询字符串:
string strCmd = "SELECT * FROM MyFunction(@user_id, @action_date)"
VS
string strCmd = "SELECT * FROM MyFunction(:user_id, :action_date)"
我总是使用冒号,但我偶尔会看到它以另一种方式完成。我想知道它们是否可以互换,或者是否可以选择其中一种。
答案 0 :(得分:2)
两个字符之间没有任何区别:两者都是参数占位符。请注意,这些实际上并没有发送到PostgreSQL; Npgsql重写SQL查询,用PostgreSQL的位置参数占位符($ 1,$ 2)替换客户端。