各种环境,转换字符串为日期时间datetime

In Pandas

pd.to_datetime

import pandas as pd

# Sample DataFrame
data = {'date_string': ['2023-01-01', '2023-01-02', '2023-01-03']}
df = pd.DataFrame(data)

# Convert string to datetime
df['date_datetime'] = pd.to_datetime(df['date_string'])

print(df)

In PySpark

to_timestamp

from pyspark.sql import SparkSession
from pyspark.sql.functions import to_timestamp, col

# Initialize Spark session
spark = SparkSession.builder.appName("DateTimeConversion").getOrCreate()

# Sample DataFrame
data = [('2023-01-01',), ('2023-01-02',), ('2023-01-03',)]
columns = ["date_string"]
df = spark.createDataFrame(data, columns)

# Convert string to timestamp
df = df.withColumn("date_timestamp", to_timestamp(col("date_string"), "yyyy-MM-dd"))

# If you only need the date part, you can cast to date type
df = df.withColumn("date_date", col("date_timestamp").cast("date"))

df.show()

In the PySpark example, to_timestamp requires the format of the input string to be specified (in this case, “yyyy-MM-dd”). The result is a timestamp, which you can then cast to a date if you only need the date part without the time.

Pyspark SQL

PySpark 是 Apache Spark 的一个 Python API,它提供了分布式数据处理的功能。在 PySpark 的 SQL 模块中,to_date 是一个用于将字符串或数值类型转换为日期类型的函数。例如:

   from pyspark.sql.functions import to_date
   df = df.withColumn("date_column", to_date(df["string_date_column"]))

各种SQL

在SQL中,把字符串转换为日期通常依赖于你所使用的数据库管理系统(DBMS)提供的特定函数。以下是一些流行的DBMS中如何将字符串转换为日期的例子:

MySQL

在MySQL中,你可以利用STR_TO_DATE()函数,这个函数需要两个参数:待转换的字符串和该字符串对应的日期格式。

SELECT STR_TO_DATE('2023-04-01', '%Y-%m-%d') AS converted_date;

PostgreSQL

PostgreSQL提供了TO_DATE()函数,与MySQL类似,也需要指定字符串的格式。

SELECT TO_DATE('2023-04-01', 'YYYY-MM-DD') AS converted_date;

SQL Server

在SQL Server中,CONVERT()函数可以用于多种数据类型之间的转换,包括字符串到日期。当转换日期时,通常可以省略格式说明,只要字符串的格式是SQL Server能识别的。但为了更精确的控制,也可以提供一个样式代码。

-- 不指定样式代码(假设字符串格式是SQL Server可识别的)
SELECT CONVERT(DATE, '2023-04-01') AS converted_date;
-- 或者,使用样式代码(尽管在这个特定例子中不是必需的)
SELECT CONVERT(DATE, '01-04-2023', 105) AS converted_date; -- 105代表日-月-年的格式

Oracle

Oracle数据库使用TO_DATE()函数来转换字符串为日期,并且也需要你指定字符串的格式。

SELECT TO_DATE('2023-04-01', 'YYYY-MM-DD') AS converted_date FROM DUAL;

请注意,FROM DUAL是Oracle特有的,用于从不需要实际表的情况下返回单行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZeroSnowy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值