A字段值为2021-01-07,B字段值为10:19:53,我想把这两个字段拼接起来,格式为YYYY-MM-DD HH:MM:SS,ORACLE中语句怎么写。
时间: 2024-03-19 21:45:45 浏览: 14
你可以使用以下SQL语句将A字段和B字段拼接起来:
```
SELECT TO_CHAR(A, 'YYYY-MM-DD') || ' ' || TO_CHAR(B, 'HH24:MI:SS') as datetime
FROM your_table;
```
其中,`A`和`B`分别代表你的日期和时间字段,`your_table`代表你的表名。执行以上SQL语句后,结果会以`YYYY-MM-DD HH24:MI:SS`的格式返回。
例如,如果你的表名为`my_table`,日期字段为`date_column`,时间字段为`time_column`,执行以下SQL语句:
```
SELECT TO_CHAR(date_column, 'YYYY-MM-DD') || ' ' || TO_CHAR(time_column, 'HH24:MI:SS') as datetime
FROM my_table;
```
将会返回类似`2021-01-07 10:19:53`的结果。
相关问题
mysql拼接两个字段的值,如果第一个字段的值为null,则不显示
可以使用 MySQL 中的 IF 函数来判断第一个字段的值是否为 NULL,如果为 NULL 则返回空字符串,如果不为 NULL 则拼接两个字段的值。例如:
```
SELECT IF(first_name IS NULL, '', CONCAT(first_name, ' ', last_name)) AS full_name FROM users;
```
这将返回一个新的字段 `full_name`,其中包含 `first_name` 和 `last_name` 的值以空格分隔开的字符串,如果 `first_name` 的值为 NULL,则返回空字符串。
sqlserver 两个varchar 类型字段拼接后转时间格式为yyyy-mm 咋转
可以使用SQL Server内置的转换函数CONVERT将拼接后的字符串转换为datetime类型,然后再使用CONVERT将datetime类型转换为yyyy-mm格式的字符串。具体的SQL语句如下:
```sql
SELECT CONVERT(varchar(7), CONVERT(datetime, CONCAT('2021-08-', '01')), 23)
```
其中,CONCAT函数将两个varchar类型的字段'2021-08-'和'01'拼接成一个字符串'2021-08-01',第一个CONVERT函数将该字符串转换为datetime类型,第二个CONVERT函数将datetime类型转换为yyyy-mm格式的字符串。函数中的23表示输出格式为yyyy-mm。
需要注意的是,拼接后的字符串必须符合datetime类型的格式要求,否则会抛出错误。如果不确定拼接后的字符串格式是否符合要求,可以使用TRY_CONVERT函数进行转换,它会返回NULL而不是抛出错误。例如:
```sql
SELECT CONVERT(varchar(7), TRY_CONVERT(datetime, CONCAT('2021/08/', '01')), 23)
```
这里使用了斜杠分隔符,不符合datetime类型的格式要求,但由于使用了TRY_CONVERT函数,所以查询结果会返回NULL。