Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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/9/ssl/3.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
Sql 如何以特定格式选择日期?_Sql_Sybase - Fatal编程技术网

Sql 如何以特定格式选择日期?

Sql 如何以特定格式选择日期?,sql,sybase,Sql,Sybase,我在一个表中有一列,用户以不正确的格式输入了某些日期。 它们应该在YYYYMMDD中,而有些错误地输入为DDMMYYYY 对我来说,什么是快速取出这些东西的最好方法? 谢谢 你可以使用蛮力。我不知道Sybase是否将DDMMYYYY理解为一种格式,但您可以执行以下操作: select convert(datetime, (case when col like '____19%' or col like '____20%' t

我在一个表中有一列,用户以不正确的格式输入了某些日期。 它们应该在
YYYYMMDD
中,而有些错误地输入为
DDMMYYYY

对我来说,什么是快速取出这些东西的最好方法?
谢谢

你可以使用蛮力。我不知道Sybase是否将
DDMMYYYY
理解为一种格式,但您可以执行以下操作:

select convert(datetime,
               (case when col like '____19%' or col like '____20%'
                     then right(col, 4) + substring(col, 3, 2) + left(col, 2)
                     else col
                end),
               112)

最好的方法是将列声明为
datetime
值,这样您就不会有这个问题。谢谢-这是一个较大查询的一小部分,我想知道是否有一种快速简单的方法可以动态地以这种特定(不正确)的方式选择日期?您如何知道它是DDMMYYYY而不是MMDDYYYY?两者都可以吗?e、 g.0809214可以是其中之一(有一个模糊区域,无法区分)。干杯,我来试试!