如何在一条 SQL 语句中获取 varchar\[n\] 字段的大小?

新手上路,请多包涵

假设我有一个 SQL 表,其中有一个名为“Remarks”的 varchar[1000] 字段。

我想制作一条 SQL 语句,执行时将返回 1000,或者将来可能更改为 varchar 字段的大小。

SELECT size(Remarks) FROM mytable 类的东西。

我该怎么做呢?

原文由 Vivian River 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答
select column_name, data_type, character_maximum_length
  from information_schema.columns
 where table_name = 'myTable'

原文由 Neil Knight 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于 SQL Server,我们可以使用 LEN 而不是 SIZE,其余所有问题都可以。 LEN 返回字符数,不确定我应该称之为眼睛友好还是大脑友好:)

 SELECT LEN(Remarks) FROM mytable

DATALENGTH 也可以正常工作,如其他答案中给出的,但 它返回字节数。

 SELECT DATALENGTH(Remarks) FROM mytable

这是文档参考

原文由 Vipin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进