sql-server - 运行代码时无法识别 CONCAT() 函数
问题描述
我正在尝试使用 w3schools 来练习 SQL。我想练习使用 SQL Server,所以我点击了代码显示的下一页上的“自己尝试”链接SELECT TOP 3 * FROM Customers;
据我了解,这会将代码读取为 SQL Server,即 SQL ServerSELECT TOP 3
的语法。
https://www.w3schools.com/sql/sql_top.asp
我不明白为什么下面的代码在屏幕上不起作用“自己试试”带我去:
https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_top&ss=-1
运行此返回
SQL 中的错误:表达式中未定义函数“CONCAT”。
好像没看懂什么CONCAT()
意思。这是一个 SQL Server 函数,不是吗?为什么会认不出来?
SELECT TOP 1 CONCAT(CategoryName,' ',LEN(CategoryName)) FROM Categories
解决方案
似乎https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_top&ss=-1正在使用 Microsoft Access/Jet(不是 SQL Server)。如果你尝试SELECT * FROM INFORMATION_SCHEMA.TABLES
它说:
这是一个只读的 MS Access 数据库,您不能这样做。
尝试使用:http ://sqlfiddle.com或https://dbfiddle.uk,您可以在其中选择所需的数据库引擎。
推荐阅读
- amazon-web-services - 从 PowerShell SSM cmdlet 向 EC2 实例发送多行脚本
- javascript - 为什么 RegExp() 不等同于 JavaScript 中显式定义的正则表达式?
- ios - 更改 UIButton 内的 SF 符号大小
- java - Java Selenide:如何使用注解 @Setter 将字符串添加到 xpath
- scala - Scala/Spark/Databricks:如何从用户创建的 JAR 中导入代码?
- c++ - 返回静态常量值
- powerbi - DAX - 引用自身的公式
- data-structures - 线性探测如何在不中断查找的情况下处理删除?
- excel - 从服务器检索数据并操作 GUI
- java - 如果 Oracle 数据库表中的列类型是 CHAR(4 BYTE),为什么我不能使用 JPA 更新具有长度为 3 的字符串的值的行?