javascript - MsSql 根据结构获取空白记录
问题描述
有没有办法SHOW COLUMNS FROM xxtable
从表中的字段的空白记录中接收回来?
目前,如果满足我的搜索条件,我可以获得记录返回 - 执行以下操作时:
SELECT * FROM xxtable WHERE fieldA = "blah"
但如果没有匹配,我想收到一个“空”记录——不是空的,但值为空白。
我正在从 PHP 函数中调用返回到 JavaScript,因此我需要返回以提供 JSON 格式的记录。
我可以检查选择是否没有返回任何内容,但想知道是否有一种方法可以在每个步骤中创建一个具有正确字段名称的空记录。
解决方案
不,不是。您对数据类型的列有什么期望date
?那么一个int
或一个decimal
呢?''
既不是日期也不是数字,但它会被隐式转换为列的数据类型。例如:
SELECT 1
UNION ALL
SELECT '';
请注意,''
返回 0,而不是''
或NULL
。那是因为CONVERT(int,'') = 0
。对于 a date
then 值19000101
将被返回:
SELECT CONVERT(date,'20180101')
UNION ALL
SELECT '';
因此,您可以执行类似的操作
SELECT '' AS [Column1Name],
'' AS [Column2Name],
'' AS [Column3Name],
'' AS [Column4Name],
...
但是,这样做的问题是,如果基础表中的列发生更改,这将无法反映。此外,列数据类型不具有反射性这一事实也不是一个好主意。
老实说,我认为您需要弄清楚如何处理表示层中没有行的数据集,而不是通过创建错误的数据集来尝试解决它。
推荐阅读
- python - 使用 GeoPandas 进行地理编码
- azure - 如何创建 Azure 管道以在虚拟机中提取 github 存储库
- microsoft-teams - MS Teams - 检测弹出窗口已打开
- swift - 如何在 SwiftUI 中绘制圆的径向切片?(即饼状图)
- node.js - 如何自动化 NodeJS/npm 依赖更新?
- sharepoint - 为什么站点权限中缺少 Sharepoint 站点所有者组?
- amazon-web-services - 使用 Terraform 管理访问 RDS 数据库的凭据时出现问题
- sql-server - 从 2014 年升级到 SQL Server 2017 后受信任的程序集功能中断
- java - 按位表示为字节数组函数
- java - 在 springdoc 中禁用 JSR-303 注释处理