我想做的是:在出生日期(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/