c# - 如何进行sql查询将数据库字符串分成3个不同的部分并比较它们?

标签 c# mysql sql database

我想做的是:在出生日期(nvarchar,不是日期类型)之后对数据库中的人员进行排序,日期采用以下字符串格式:dd-MM-yyyy 并按排序,我的意思是返回所有内容的列表人,但在出生日期之后排序,以填充 datagridview。

我有一列包含出生日期,它是 nvarchar。我想在 sql 查询中将日、月和年存储在 3 个变量中,并测试它们以便将它们按顺序排列。

我尝试的是:

SELECT SUBSTRING(date_of_birth,0,2) FROM people AS zi;
SUBSTRING(date_of_birth,3,2) AS luna
SUBSTRING(date_of_birth,6,4) AS an
SELECT [id], [specie], [sex], [date_of_birth], [greutate] FROM [people] WHERE

但我真的不知道从现在起如何解决......

最佳答案

SELECT
  [id], [specie], [sex], [date_of_birth], [greutate],
  SUBSTRING(date_of_birth,6,4)  AS [an],
  SUBSTRING(date_of_birth,3,2)  AS [luna],
  SUBSTRING(date_of_birth,0,2)  AS [zi]
FROM
  [people]
ORDER BY
  SUBSTRING(date_of_birth,6,4),
  SUBSTRING(date_of_birth,3,2),
  SUBSTRING(date_of_birth,0,2)

许多 RDBMS 也允许这样做...

SELECT
  [id], [specie], [sex], [date_of_birth], [greutate],
  SUBSTRING(date_of_birth,6,4)  AS [an],
  SUBSTRING(date_of_birth,3,2)  AS [luna],
  SUBSTRING(date_of_birth,0,2)  AS [zi]
FROM
  [people]
ORDER BY
  [an], [luna], [zi]

关于c# - 如何进行sql查询将数据库字符串分成3个不同的部分并比较它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18497842/

相关文章:

c# - 如何配置 MYSQL ODBC 驱动程序以与 Visual Studio 2013 一起使用?

java - 在SQL语句中使用静态变量是否线程安全

c# - ASP.NET Identity 2.0 注销不工作

c# - 保存加密配置部分时防止 IIS 应用程序重启?

c# - 在 C# .NET 中清理 ODBC DSN

mysql - Spring Boot、Java、Docker Compose,尝试在两个容器(mysql、my-api)之间建立连接时获取 'Connection refused'

尽管引用了 .dll,但找不到 C# 命名空间错误

mysql - $query = INSERT INTO 无效

sql - 从另一个 View 创建 View

python - MySQL 选择产品的所有组件