SELECT to_date('2017/1/23') AS result 显示为空
时间: 2024-01-04 22:03:03 浏览: 18
如果查询结果为空,可能是因为你的数据中有一些行包含了无法转换为日期格式的值。你可以使用HiveQL中的CASE语句来处理这些异常值,例如:
```
SELECT
CASE WHEN REGEXP_LIKE('2017/1/23', '\\d{4}/\\d{1,2}/\\d{1,2}')
THEN to_date('2017/1/23')
ELSE NULL
END AS result;
```
这里使用了一个正则表达式来判断日期字符串是否符合'yyyy/M/dd'的格式,如果符合就转换为日期格式,否则返回NULL。你可以根据自己的数据格式和需求,修改正则表达式的内容。
相关问题
2017/1/23转化为时间格式
在HiveQL中,你可以使用to_date函数将"2017/1/23"这样的字符串转换为时间格式。具体如下:
```
SELECT to_date('2017/1/23', 'yyyy/M/dd') AS result;
```
这会将字符串'2017/1/23'转换为'2017-01-23'的时间格式。其中,'yyyy'表示4位数的年份,'M'表示1位或2位数的月份,'dd'表示2位数的日期。注意,这里的'yyyy/M/dd'需要与你的日期字符串的格式完全一致,否则转换会出错。
hql语言,用字符串形式 2017/1/23 转化为时间格式2017-01
假设你使用的是HiveQL,可以使用HiveQL内置的date_format函数将字符串转换为时间格式,具体如下:
```
SELECT date_format('2017/1/23', 'yyyy-MM') AS result;
```
这会将字符串'2017/1/23'转换为'2017-01'的时间格式。