我的表有一个nvarchar数据类型的字段。该字段包含字母数字字符和日期。我如何从字段中提取日期部分?数据转换和提取
Q
数据转换和提取
-1
A
回答
0
使用CAST
进行日期类型转换。
SELECT CAST(tstamp AS DATE)
CAST
工作完全在大多数SQL引擎(SQL服务器和PostgreSQL,MySQL的)一样,
0
这取决于数据的样子。例如:
declare @field varchar(100)
select @field = 'text text 2000/01/01 text text'
select convert(date,SUBSTRING(@field,CHARINDEX('/',@field,0)-4,10))
如果知道,该日期被存储在为yyyy/mm/dd格式,则可以使用上述代码 - 找到第一斜线,从斜线的位置切割串 - 4与长度10.
更具体一些,请提供一些示例,告诉我们您使用的是什么sql server,并且我们可以帮助您更多。
相关问题
- 1. 在Python中提取数据和转置
- 2. 提取数据变换
- 3. bash脚本:提取和转换文件
- 4. 数据提取,转换和加载excel到sql和sql到excel asp.net
- 5. 无法从数据库中提取数据并将其转换为Json数据
- 6. Oracle:ETL和数据转换
- 7. 搜索和提取数据
- 8. mysqli和提取数据
- 9. Hibernate和DB2数据提取
- 10. SQL表和数据提取
- 11. Ruby和Excel数据提取
- 12. mysql和php:数据提取
- 13. 数据库表中提取和链接提取的数据
- 14. 提取表中的数据并将其转换为XML文档
- 15. sed从dos文本文件中提取数据转换为csv
- 16. 提取阵列列数据转换成插入语句
- 17. 转换数据
- 18. 转换数据
- 19. 转换数据
- 20. 数据转换
- 21. 读取数据,并转换为XTS
- 22. 数据提取?
- 23. 提取数据
- 24. 提取数据
- 25. 提取数据
- 26. 提取数据
- 27. 提取数据
- 28. 提取数据
- 29. 提取数据 -
- 30. 提取数据
只要日期的格式为mm/dd/yyyy,此功能就可以工作。当日期是长期格式时,我收到“转换日期和/或时间从字符串转换失败”错误。以下是几个示例: > 2016年2月29日。 > 2/29/2016。 > text text 2/29/2016 text。 >文本文本2016年2月29日文本文本 – Anonymous
@Anonymous如果格式为mm/dd/yyyy,那么您将减去2,而不是4从位置: 'convert(date,SUBSTRING(@ field,CHARINDEX('/ ',@ field,0)-2,10))' 但是,如果有不同的格式,那么这将是非常漫长和复杂的查询...它通常可以通过这些功能来实现 - 'SUBSTRING'来剪切日期出来,'CHARINDEX'找到可识别日期的字符,'CONVERT'或'CAST'将其转换为'DATE'或'DATETIME'。 请参阅参考资料[https://msdn.microsoft.com/en-us/library/ms187748.aspx] –
@Anonymous您可能不想听到它,但首先 - 一列不应包含数据,您需要分别访问... –