如何使用PATINDEX将SQL中的2019年5月15日转换为2019/05/15

时间:2019-10-25 11:01:57

标签: sql sql-server date converters patindex

我需要在SQL中转换日期。日期为<View style={{ width: "100%", height: "100%", alignItems: "stretch", flexDirection: "column", position: "absolute", justifyContent: "center" }} > <View style={{ flex: 2, alignItems: "center", justifyContent: "center", alignSelf: "center" }} > <Text style={{ fontSize: 22, fontWeight: "bold", color: "#ffffff" }} > My Events List </Text> </View> <View style={{ flex: 8, alignItems: "center", justifyContent: "center", paddingHorizontal: 15 }} > <FlatList style={{ width: "100%", marginBottom: 15 }} data={eventsCreatedList} keyExtractor={item => { return item.id; }} renderItem={({ item }) => <EventsCreatedListItem item={item} />} /> </View> </View> ,日期应显示为15-May-2019

这是我到目前为止的代码

2019/05/15

我不确定如何使用CASE WHEN WHEN LEN(AgeGroup) > 1 THEN PATINDEX ('%[A-Z]%', date) 。有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

我建议只转换为date数据类型:

select try_convert(date, '15-May-2019')

如果希望使用斜杠,则可以改为生成一个字符串:

select replace(convert(varchar(10), try_convert(date, '15-May-2019'), 120), '-', '/')

答案 1 :(得分:0)

使用以下代码,您可以引用其他格式的链接。https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/

SELECT CONVERT(varchar,(cast('15-may-2019' as date)), 111)

答案 2 :(得分:0)

PATINDEX有点过分杀伤力。

尝试:

SELECT FORMAT(
      TRY_PARSE('15-May-2019' AS DATE USING 'en-US')
, 'yyyy/MM/dd')
  • TRY_PARSE使用English区域性将字符串解析为DATE。
  • FORMAT是为了精确控制输出