-2

我必须在表中找到该列的数据类型为日期时间的所有列。

关于如何做到这一点的任何想法?

IE

 Select * FROM Table1 WHERE datatype = datetime.
4

1 回答 1

2

在这里,您可以使用 MS SQL Server:

select c.name as table_name, a.name as column_name
from sys.columns a
join sys.types b on a.user_type_id = b.user_type_id
join sys.tables c on a.object_id = c.object_id
where b.name = 'datetime'
and c.type = 'U'

请注意,还有其他可以保存日期的数据类型:date、datetime2、datetimeoffset。要将所有 then 更改WHERE子句更改为:

where b.name in ('datetime', 'date', 'datetime2', 'datetimeoffset')

或者

where b.name like 'date%' 

更新

Timestamp 是:

返回当前数据库的当前时间戳数据类型的值。此时间戳保证在数据库中是唯一的。返回varbinary

它与日期、时间或在其中存储任意数据无关。它更像是一个顺序唯一键(如 GUID)。

于 2013-06-13T11:00:54.777 回答