Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在sql中解析字符串,以便根据年龄对人员进行排序?_C#_Sql_Sql Server_Database - Fatal编程技术网

C# 如何在sql中解析字符串,以便根据年龄对人员进行排序?

C# 如何在sql中解析字符串,以便根据年龄对人员进行排序?,c#,sql,sql-server,database,C#,Sql,Sql Server,Database,我想做的是:在出生日期之后对数据库中的人进行排序(nvarchar,而不是日期类型)。日期是这样的字符串格式:dd-MM-yyyy,通过排序,我的意思是返回所有人的列表,但在出生日期之后进行排序,以填充datagridview 数据=出生日期 我尝试的是: SELECT [id], [specie], [sex], [data_nasterii], [greutate], SUBSTRING(data_nasterii,6,4) AS [an], SUBSTRING(data_nasterii

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

数据=出生日期

我尝试的是:

SELECT
[id], [specie], [sex], [data_nasterii], [greutate],
SUBSTRING(data_nasterii,6,4)  AS [an],
SUBSTRING(data_nasterii,3,2)  AS [luna],
SUBSTRING(data_nasterii,0,2)  AS [zi]
FROM
[animal]
WHERE
specie=@p1
ORDER BY
SUBSTRING(data_nasterii,6,4),
SUBSTRING(data_nasterii,3,2),
SUBSTRING(data_nasterii,0,2)
但这根本不能解决问题。我做错了什么?

首先,你“做错了”的是将日期值存储为字符串,而不是
date
datatype

其次,您所犯的错误是没有认识到
子字符串
从偏移量1开始,而不是从0开始


因此,
子字符串(data_nasterii,6,4)
返回
'-yyy'

您可以,然后根据该列进行排序。您是在mysql还是sql server上?@rutter:在这种情况下,我不可以选择。Mihai:sql server,在c#windows中form@Mihai问题是MYSQL标记,您可以发布一些您看到当前行为的记录吗?我第一次尝试在sql中使用日期数据类型,但它更复杂,无法让所有C#指令正常工作。非常感谢斯宾塞7593对偏移量的解释,它现在工作得很好!!:)@spencer7593的母亲可能打算抚养他来提供帮助,同时也嘲笑那些寻求帮助的人