Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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
在postgresql中选择带有子字符串和强制转换的日期中的月份_Sql_Regex_Postgresql_Casting_Substring - Fatal编程技术网

在postgresql中选择带有子字符串和强制转换的日期中的月份

在postgresql中选择带有子字符串和强制转换的日期中的月份,sql,regex,postgresql,casting,substring,Sql,Regex,Postgresql,Casting,Substring,我一直在绞尽脑汁做这个练习,教授希望我们只从postgresql中的日期类型中选择月份,但只使用子字符串和cast。 我试过几种方法,但都不管用。这是我的后一句话: select substring(cast(fac.fecha as varchar(10)), '_____[0,9]___' ) from facturas fac 这句话返回以下内容: [0,9]是“单个0或9或冒号”的正则表达式。 您可能需要[0-9]{2},即“2位”的正则表达式 另一方面,substr()(不同的拼写,

我一直在绞尽脑汁做这个练习,教授希望我们只从postgresql中的日期类型中选择月份,但只使用子字符串和cast。 我试过几种方法,但都不管用。这是我的后一句话:

select substring(cast(fac.fecha as varchar(10)), '_____[0,9]___' ) from facturas fac
这句话返回以下内容:
[0,9]
是“单个0或9或冒号”的正则表达式。
您可能需要
[0-9]{2}
,即“2位”的正则表达式

另一方面,
substr()
(不同的拼写,也许你有一个更强大的引擎,它支持正则表达式…)的所有实现(我所知道的)都将索引作为参数放入字符串中,没有正则表达式,甚至没有单字母通配符


因此,我建议您研究
子字符串()

[0,9]
是“单个0或9或冒号”的正则表达式。
您可能需要
[0-9]{2}
,即“2位”的正则表达式

另一方面,
substr()
(不同的拼写,也许你有一个更强大的引擎,它支持正则表达式…)的所有实现(我所知道的)都将索引作为参数放入字符串中,没有正则表达式,甚至没有单字母通配符


因此,我建议您研究一下您的
子字符串()

的文档。如果您为建议添加感谢,您将获得更好的回报,但这无助于解决问题。如果您为建议添加感谢,您将获得更好的回报,但这无助于解决问题。您是对的,先生,解决方案是使用6,2作为索引:从facturas fac中选择子字符串(CAST(fac.fecha as VARCHAR(10)),6,2非常感谢!你说得很对,先生,解决方案是使用6,2作为索引:从facturas fac选择子字符串(CAST(fac.fecha as VARCHAR(10)),6,2非常感谢!