如何进行sql查询将数据库字符串分为三个不同的部分并进行比较
本文关键字:三个 比较 查询 sql 何进行 数据库 字符串 | 更新日期: 2023-09-27 18:29:35
我想做的是:在出生日期后对数据库中的人进行排序(nvarchar,而不是日期类型)日期采用以下字符串格式:dd-MM-yyyy,通过排序,我的意思是返回所有人的列表,但在出生日期之后排序,以填充数据网格视图。
我有一个写着出生日期的专栏,是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]
试试这个。。
SELECT
[id], [specie], [sex], [date_of_birth], [greutate]
From
[People]
ORDER BY
Convert(DateTime, date_of_birth, 105) Asc
通过将列转换为DateTime类型105,您可以将其转换为"dd-MM-yyyy"格式
按原样粘贴此代码,然后重试。。