#sql #排序 #最后 #id #转换 #表达式 #排序

sort_str_to_sql

将排序表达式转换为可用于'ORDER BY'语句的SQL,例如 '-aired,id' -> 'aired DESC NULLS LAST, id ASC NULLS LAST'。

6个版本 (1个稳定版)

使用旧的Rust 2015

1.0.0 2015年4月12日
0.0.5 2015年1月17日
0.0.3 2014年12月20日
0.0.2 2014年11月22日

#32 in #最后

MIT许可证

4KB

字符串排序到SQL

这是一个Rust crate,用于将'sort expressions'转换为可用于'ORDER BY'的SQL表达式。例如,-date,id将被转换为date DESC NULLS LAST, id ASC NULLS LAST

它可以用来将HTTP查询参数转换为可用于SQL查询的表达式。(我仅自己使用Postgres,所以不能保证它可以在其他数据库上工作。)

Build Status

安装

# Cargo.toml
[dependencies]
sort_str_to_sql = "1.0.0"

输入格式

字段名称的逗号分隔列表。如果要降序排列,请在前缀添加'-';如果要升序排列(默认,因此是可选的),请后缀添加'-'以使包含null值的记录首先出现(这设置了NULLS FIRST)。

您可以在行内找到一些示例#[test]

许可证

MIT


lib.rs:

将排序表达式转换为SQL

将'排序格式'转换为'SQL格式'。例如。

  • -id -> id DESC NULLS LAST
  • id -> id ASC NULLS LAST
  • -id- -> id ASC NULLS FIRST
  • -aired,id -> aired DESC NULLS LAST, id ASC NULLS LAST

示例

#![allow(unstable)]
assert!(
  sort_str_to_sql("-id") ==
  Some("id DESC NULLS LAST".to_owned())
);
assert!(
  sort_str_to_sql("-id,+aired-") ==
  Some("id DESC NULLS LAST, aired ASC NULLS FIRST".to_owned())
);

(更多示例请参阅测试。)

依赖

~3.5MB
~75K SLoC