HTML-05NPM使用踩坑
2025-03-04-NPM使用踩坑
本文讲述了一个苦逼程序员在使用NPM的时候突然来了一记nmp login天雷,然后一番折腾之后,终究还是没有解决npm的问题😞😞😞,最终使用cnpm完美解决的故事。
文章目录
- 2025-03-04-NPM使用踩坑
- @[toc]
- 1-参考网址
- 2-思路整理
- 3-学习要点
- 4-对比学习
- 1-什么是npm、cnpm两者之间的区别
- 1-npm 概述
- 2-cnpm 概述
- 3-npm 和 cnpm 的区别
- 2-如何使用npm并配置国内镜像源
- 一、安装 npm
- 1. Windows 系统
- 2. macOS 系统
- 3. Linux 系统(以 Ubuntu 为例)
- 二、更换 npm 镜像源为淘宝镜像
- 1. 临时更换
- 2. 永久更换
- 3. 恢复默认镜像源
- 4. 使用 nrm 管理镜像源
- 三、常见问题与解决方案
- 问题 1:输入 `npm login` 直接跳转到 Sign in to CNPM
- 问题 2:使用 `https` 地址时报错 `request to https://registry.npmjs.org/-/v1/login failed, reason: connect ETIMEDOUT`
- 问题 3:报错 `Unexpected token ‘.’`
- 问题 4:安装包时速度慢或失败。
- 3-如何使用cnpm并配置国内镜像源
- 1-安装 cnpm
- 2-全局安装 cnpm
- 3-验证安装
- 4-确保 cnpm 使用淘宝镜像
- 5-查看当前镜像源
- 6-手动设置为淘宝镜像源
文章目录
- 2025-03-04-NPM使用踩坑
- @[toc]
- 1-参考网址
- 2-思路整理
- 3-学习要点
- 4-对比学习
- 1-什么是npm、cnpm两者之间的区别
- 1-npm 概述
- 2-cnpm 概述
- 3-npm 和 cnpm 的区别
- 2-如何使用npm并配置国内镜像源
- 一、安装 npm
- 1. Windows 系统
- 2. macOS 系统
- 3. Linux 系统(以 Ubuntu 为例)
- 二、更换 npm 镜像源为淘宝镜像
- 1. 临时更换
- 2. 永久更换
- 3. 恢复默认镜像源
- 4. 使用 nrm 管理镜像源
- 三、常见问题与解决方案
- 问题 1:输入 `npm login` 直接跳转到 Sign in to CNPM
- 问题 2:使用 `https` 地址时报错 `request to https://registry.npmjs.org/-/v1/login failed, reason: connect ETIMEDOUT`
- 问题 3:报错 `Unexpected token ‘.’`
- 问题 4:安装包时速度慢或失败。
- 3-如何使用cnpm并配置国内镜像源
- 1-安装 cnpm
- 2-全局安装 cnpm
- 3-验证安装
- 4-确保 cnpm 使用淘宝镜像
- 5-查看当前镜像源
- 6-手动设置为淘宝镜像源
1-参考网址
- NpmLogin问题汇总:https://blog.csdn.net/HurryUpp/article/details/134928293
2-思路整理
- 1)[X]遇到需要npmLogin的权限报错->网友推荐更换国内镜像
- 2)[X]但是我跟着小跑一路都没有解决->果断放弃npm
- 3)[√]最终解决方案->使用cnpm完美解决
- 4)[√]如果cnpm遇到下载不了的包->使用pnpm完美解决
3-学习要点
-
1)什么是npm、cnpm两者之间的区别?->NodeJs依赖管理
-
2)如何使用npm并配置国内镜像源
-
3)如何使用cnpm并配置国内镜像源
-
4)核心操作
# 1)安装cnpm-已安装可跳过
- 下载安装cnpm
npm install -g cnpm --registry=https://registry.npmmirror.com
- 使用cnpm下载
cnpm install typescript# 2)安装pnpm-已安装可跳过
- 下载安装pnpm
npm install -g pnpm --registry=https://registry.npmmirror.com
- 使用cnpm下载
pnpm install typescript# 3)如果需要更新源
npm config set registry https://registry.npm.taobao.org/
npm config set registry https://registry.npmmirror.com/
npm config set registry https://registry.npmjs.org/
4-对比学习
1-什么是npm、cnpm两者之间的区别
1-npm 概述
npm
是 Node.js 的包管理器(Node Package Manager),它随着 Node.js 一起安装,是 JavaScript
生态系统中管理项目依赖和共享代码的重要工具。其核心功能与作用体现在以下多个方面:
- 依赖管理:
npm
可以帮助开发者方便地安装、更新和删除项目所依赖的软件包。例如,在开发一个基于 React
的前端项目时,你可以使用npm install react react-dom
命令来安装 React 和 React DOM 这两个核心库。 - 版本控制:
npm
支持语义化版本号(SemVer),可以精确指定项目依赖的软件包版本。在package.json
文件中,你可以看到类似"react": "^18.2.0"
这样的版本声明,其中^
表示兼容该主版本号下的最新版本。 - 脚本执行:
npm
允许在package.json
中定义脚本,通过npm run
命令来执行这些脚本。比如,你可以定义一个启动开发服务器的脚本"start": "webpack-dev-server --open"
,然后使用npm run start
来启动开发服务器。 - 包发布:开发者可以将自己编写的软件包发布到 npm
公共注册表(registry.npmjs.org),供其他开发者使用。发布后,其他开发者就可以通过npm install
命令来安装使用你的包。
2-cnpm 概述
cnpm
是淘宝团队基于 npm
定制的一个镜像版本的包管理器,其目的主要是为了解决国内开发者在使用 npm
安装依赖包时网络速度慢、不稳定的问题。
- 镜像源:
cnpm
使用了淘宝的镜像源(https://registry.npmmirror.com ),该镜像源会定期同步 npm
官方注册表的内容,确保软件包的版本和内容与官方一致。 - 安装使用:你可以通过
npm install -g cnpm --registry=https://registry.npmmirror.com
命令来全局安装cnpm
,安装完成后就可以像使用npm
一样使用cnpm
来管理项目依赖。
3-npm 和 cnpm 的区别
- 镜像源
- npm:默认使用的是官方的注册表(registry.npmjs.org),由于服务器位于国外,在国内访问时可能会受到网络限制,导致下载速度较慢,甚至出现连接超时的情况。
- cnpm:使用的是淘宝的镜像源(https://registry.npmmirror.com ),该镜像源位于国内,下载速度通常比官方源快很多,尤其是对于一些体积较大的软件包,优势更为明显。
- 兼容性
- npm:是 Node.js 官方推荐的包管理器,与 Node.js 生态系统的兼容性最好,能够保证安装的软件包与官方发布的版本完全一致。
- cnpm:虽然大部分情况下与
npm
兼容,但由于是基于npm
定制的,可能会存在一些细微的差异。在某些特殊场景下,可能会出现安装的软件包与使用npm
安装的版本不完全一致的情况,从而导致一些兼容性问题。
- 社区支持
- npm:作为 Node.js 官方的包管理器,拥有庞大的社区支持,几乎所有的 Node.js 项目都会使用
npm
来管理依赖。在遇到问题时,更容易在社区中找到相关的解决方案。 - cnpm:主要是为国内开发者提供便利,社区支持相对较少。如果遇到与
cnpm
相关的问题,可能在社区中找到的解决方案不如npm
多。
- npm:作为 Node.js 官方的包管理器,拥有庞大的社区支持,几乎所有的 Node.js 项目都会使用
- 命令使用
- npm:命令使用广泛且标准,很多教程、文档和开源项目都是基于
npm
来编写命令示例的。 - cnpm:命令与
npm
基本相同,但在一些企业级项目或者对依赖管理要求严格的场景中,可能会优先选择npm
,而在个人开发或者对网络速度要求较高的场景中,cnpm
是一个不错的选择。
- npm:命令使用广泛且标准,很多教程、文档和开源项目都是基于
2-如何使用npm并配置国内镜像源
在前端开发中,npm
(Node Package Manager)是 Node.js
的官方包管理工具,用于安装、共享和管理项目依赖。本文将详细介绍如何安装 npm
、更换镜像源(以淘宝镜像为例),以及解决常见问题。
一、安装 npm
npm
通常会随 Node.js
一起安装,因此我们只需安装 Node.js
即可。
1. Windows 系统
-
下载安装包:
- 访问 Node.js 官方下载页面。
- 选择适合你系统的 Windows 安装包(.msi 文件)。如果你使用的是 64 位系统,建议下载 64 位的安装包;如果是 32 位系统,则下载
32 位的安装包。
-
运行安装程序:
- 双击下载的安装包,按照安装向导的提示进行操作。
- 在安装过程中,你可以选择安装路径等选项,一般保持默认设置即可。
-
验证安装:
- 安装完成后,打开命令提示符(CMD)或 PowerShell,输入以下命令验证
Node.js
和npm
是否安装成功:node -v npm -v
- 如果能正确显示
Node.js
和npm
的版本号,说明安装成功。
- 安装完成后,打开命令提示符(CMD)或 PowerShell,输入以下命令验证
2. macOS 系统
-
使用安装包安装:
- 访问 Node.js 官方下载页面。
- 选择适合 macOS 的安装包(.pkg 文件),下载后双击运行安装程序,按照提示完成安装。
-
使用 Homebrew 安装:
- 如果你已经安装了 Homebrew,可以使用以下命令安装
Node.js
:brew install node
- 如果你已经安装了 Homebrew,可以使用以下命令安装
-
验证安装:
- 安装完成后,打开终端,输入以下命令验证
Node.js
和npm
是否安装成功:node -v npm -v
- 安装完成后,打开终端,输入以下命令验证
3. Linux 系统(以 Ubuntu 为例)
-
添加 Node.js 源:
- 打开终端,运行以下命令添加 Node.js 官方源:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
- 这里的
18.x
是 Node.js 的版本号,你可以根据需要选择其他版本。
- 这里的
- 打开终端,运行以下命令添加 Node.js 官方源:
-
安装 Node.js 和 npm:
- 运行以下命令安装 Node.js 和 npm:
sudo apt-get install -y nodejs
- 运行以下命令安装 Node.js 和 npm:
-
验证安装:
- 安装完成后,输入以下命令验证 Node.js 和 npm 是否安装成功:
node -v npm -v
- 安装完成后,输入以下命令验证 Node.js 和 npm 是否安装成功:
二、更换 npm 镜像源为淘宝镜像
由于网络原因,直接使用官方 npm
镜像源可能会导致安装速度较慢。我们可以将镜像源更换为淘宝镜像(现称为中国镜像,地址为 https://registry.npmmirror.com
)。
1. 临时更换
如果你只需要临时使用淘宝镜像源来安装某个包,可以在安装命令中指定镜像源:
npm install <package-name> --registry=https://registry.npmmirror.com
- 将
<package-name>
替换为你要安装的包名。
2. 永久更换
如果你希望每次使用 npm 都默认使用淘宝镜像源,可以使用以下命令进行配置:
npm config set registry https://registry.npmmirror.com
- 你可以通过以下命令验证镜像源是否已经成功更换:
npm config get registry
- 如果输出为
https://registry.npmmirror.com
,则说明镜像源已经成功更换。
- 如果输出为
3. 恢复默认镜像源
如果你想恢复到 npm 的默认镜像源,可以使用以下命令:
npm config set registry https://registry.npmjs.org
4. 使用 nrm 管理镜像源
除了直接使用 npm config
命令来管理镜像源,你还可以使用 nrm
(npm registry manager)工具来更方便地切换镜像源。
-
安装 nrm:
npm install -g nrm
-
查看可用镜像源:
nrm ls
- 该命令会列出所有可用的镜像源,其中包括淘宝镜像(
npmmirror
)。
- 该命令会列出所有可用的镜像源,其中包括淘宝镜像(
-
切换镜像源:
nrm use npmmirror
- 该命令会将 npm 的镜像源切换为淘宝镜像。
-
测试镜像源速度:
nrm test npmmirror
- 该命令会测试淘宝镜像源的响应速度,帮助你选择最快的镜像源。
三、常见问题与解决方案
问题 1:输入 npm login
直接跳转到 Sign in to CNPM
- 原因:使用了淘宝的镜像地址(
https://registry.npmmirror.com/
或https://r.cnpmjs.org/
)。 - 解决方法:
- 将镜像地址改回官方地址:
npm config set registry http://registry.npmjs.org/
- 注意使用
http
地址,而不是https
地址。
- 注意使用
- 将镜像地址改回官方地址:
问题 2:使用 https
地址时报错 request to https://registry.npmjs.org/-/v1/login failed, reason: connect ETIMEDOUT
- 原因:官方镜像源的
https
地址可能在国内网络环境下无法正常访问。 - 解决方法:
- 将镜像地址改为
http
地址:npm config set registry http://registry.npmjs.org/
- 将镜像地址改为
问题 3:报错 Unexpected token ‘.’
- 原因:
nvm
(Node Version Manager)版本过低,导致Node.js
版本也不兼容。 - 解决方法:
- 卸载所有
Node.js
版本:nvm uninstall --all
- 卸载
nvm
:- 在
Node.js
安装目录中运行unins000.exe
。
- 在
- 重新安装
nvm
和Node.js
。
- 卸载所有
问题 4:安装包时速度慢或失败。
-
- 解决方法:更换为淘宝镜像源(
https://registry.npmmirror.com
),或者使用nrm
测试并选择最快的镜像源。
- 解决方法:更换为淘宝镜像源(
3-如何使用cnpm并配置国内镜像源
1-安装 cnpm
cnpm
是淘宝团队基于 npm
定制的一个包管理工具,其镜像源默认指向淘宝镜像,方便国内开发者使用。以下是安装 cnpm
的步骤:
2-全局安装 cnpm
在命令行工具(如 Windows 的命令提示符、macOS 或 Linux 的终端)中执行以下命令来全局安装 cnpm
:
npm install -g cnpm --registry=https://registry.npmmirror.com
上述命令中,-g
表示全局安装,--registry=https://registry.npmmirror.com
是指定在安装 cnpm
时使用淘宝镜像源(现称中国镜像),以加快安装速度。
3-验证安装
安装完成后,可以通过查看 cnpm
版本号来验证是否安装成功,执行以下命令:
cnpm -v
如果能正确显示 cnpm
的版本信息,说明安装成功。
4-确保 cnpm 使用淘宝镜像
一般情况下,安装 cnpm
后它默认使用的就是淘宝镜像(https://registry.npmmirror.com
)。但为了确保万无一失,你可以通过以下方式进行确认和更改:
5-查看当前镜像源
使用以下命令查看 cnpm
当前使用的镜像源:
cnpm config get registry
如果输出结果是 https://registry.npmmirror.com
,则表示已经使用淘宝镜像源。
6-手动设置为淘宝镜像源
若查看的镜像源不是淘宝镜像源,可以使用以下命令将其设置为淘宝镜像源:
cnpm config set registry https://registry.npmmirror.com
设置完成后,再次使用 cnpm config get registry
命令进行验证,确保输出为 https://registry.npmmirror.com
。
相关文章:

HTML-05NPM使用踩坑
2025-03-04-NPM使用踩坑 本文讲述了一个苦逼程序员在使用NPM的时候突然来了一记nmp login天雷,然后一番折腾之后,终究还是没有解决npm的问题😞😞😞,最终使用cnpm完美解决的故事。 文章目录 2025-03-04-NPM使用踩坑[toc…...

自学嵌入式第29天-----epoll、sqlite3
1. 正确选择触发模式(ET 和 LT) 水平触发(LT):默认模式,只要文件描述符处于就绪状态,epoll_wait 会持续通知。适合大多数场景,编程简单。 边缘触发(ET)&…...

工作学习笔记:HarmonyOS 核心术语速查表(v14 实战版)
作为在 HarmonyOS 开发一线摸爬滚打的工程师,笔者在 v14 版本迭代中整理了这份带血的实战术语表。 一、架构基础术语速查 A 系列术语 术语官方定义笔者解读(v14 实战版)开发陷阱 & 解决方案abc 文件ArkCompiler 生成的字节码文件打包时…...

解决AWS EC2实例无法使用IAM角色登录AWS CLI
问题背景 有时,我们希望一台AWS EC2实例,即云服务器,能够使用AWS CLI访问AWS管理控制台资源。 例如,这里,我们想让它能够列出所有IAM用户组。 aws iam list-groups于是,我们使用下面的命令,在…...

Java核心语法:从变量到控制流
一、变量与数据类型(对比Python/C特性) 1. 变量声明三要素 // Java(强类型语言,需显式声明类型) int age 25; String name "CSDN"; // Python(动态类型) age 25 name …...

manus是什么?能干啥?
Manus哪儿来的? Manus是一款由中国团队Monica.im于2025年3月5日发布的通用型AI代理(AI Agent)产品,旨在通过自主思考、系统规划和灵活工具调用,帮助用户完成各种复杂任务,从而解放用户的时间与创…...

大型语言模型训练的三个阶段:Pre-Train、Instruction Fine-tuning、RLHF (PPO / DPO / GRPO)
前言 如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 当前的大型语言模型训练大致可以分为如下三个阶段: Pre-train:根据大量可获得的文本资料&#…...

Elasticsearch 2025/3/7
高性能分布式搜索引擎。 数据库模糊搜索比较慢,但用搜索引擎快多了。 下面是一些搜索引擎排名 Lucene是一个Java语言的搜索引擎类库(一个工具包),apache公司的顶级项目。 优势:易扩展、高性能(基于倒排索引…...

发行基础:热销商品榜单
转载自官方文件 ------------------ 热销商品榜单 Steam 在整个商店范围内有各种热销商品榜单,最醒目的莫过于 Steam 主页上的榜单了。 您也可以在浏览单个标签、主题、类型时找到针对某个游戏类别的热销商品榜单。 主页热销商品榜单 该榜单出现在 Steam 主页上…...

实战案例分享:Android WLAN Hal层移植(MTK+QCA6696)
本文将详细介绍基于MTK平台,适配高通(Qualcomm)QCA6696芯片的Android WLAN HAL层的移植过程,包括HIDL接口定义、Wi-Fi驱动移植以及wpa_supplicant适配过程,涵盖STA与AP模式的常见问题与解决方法。 1. HIDL接口简介 HID…...

物联网系统搭建
实验项目名称 构建物联网系统 实验目的 掌握物联网系统的一般构建方法。 实验要求: 1.构建物联网系统,实现前后端的交互。 实验内容: CS模式MQTT(不带数据分析处理功能) 实现智能设备与应用客户端的交…...

微前端框架 Qiankun 的应用及问题分析
一、Qiankun 的核心应用场景与优势 多技术栈共存与灵活集成 Qiankun 支持主应用与子应用使用不同技术栈(如 Vue、React、Angular 等),通过 HTML Entry 方式接入子应用,无需深度改造子应用即可实现集成,降低了技术迁移成…...

设计模式-结构型模式-适配器模式
概述 适配器模式 : Adapter Pattern 是一种结构型设计模式. 作用 : 使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 实现思路 : 适配器模式通过将一个类的接口转换成客户希望的另外一个接口来实现这一点。 这里的“接口”指的是类所提供的…...

6. 机器人实现远程遥控(具身智能机器人套件)
1. 启动控制脚本 远程作到 Raspberry Pi 中,并运行以下脚本: conda activate lerobotpython lerobot/scripts/control_robot.py \--robot.typelekiwi \--control.typeremote_robot登录笔记本电脑上,同时运行以下脚本: conda ac…...

多模态知识图谱融合
1.Knowledge Graphs Meet Multi-Modal Learning: A Comprehensive Survey 1.1多模态实体对齐 1.2多模态实体链接 研究进展&#...

windows 平台如何点击网页上的url ,会打开远程桌面连接服务器
你可以使用自定义协议方案(Protocol Scheme)实现网页上点击URL后自动启动远程桌面连接(mstsc),参考你提供的C代码思路,如下实现: 第一步:注册自定义协议 使用类似openmstsc://协议…...

基于Spark的热门动漫推荐数据分析与可视化系统的设计与实现(采用Python语言Django框架,Hadoop,spider爬虫等技术实现)
基于Hadoop的热门动漫推荐数据分析与可视化系统 基于Django的热门动漫推荐数据分析与可视化系统 1. 开发工具和实现技术 Pycharm, Python3.7,Django框架,Hadoop,Spark,Hive,spider爬虫(爬取动漫之家的动…...

8. 机器人模型训练与评估(具身智能机器人套件)
1. 训练 使用python lerobot/scripts/train.py可以进行机器人控制模型训练,一般需要几个小时,可以在outputs/train/act_lekiwi_test/checkpoints查看锚点数据,下面为一组示例参数: python lerobot/scripts/train.py \--dataset.…...

计算机网络-服务器模型
一.服务器模型 1.支持多客户端访问 //单循环服务器 socket bind listen while(1) { accept while(1) { recv/send } } close 注:该模式remvform为阻塞态,服务器将等待接收数据 2..支持多客户端同时访问 (并发能力) socket…...

DeepSeek大模型 —— 全维度技术解析
DeepSeek大模型 —— 全维度技术解析 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 文章目录 DeepSeek大模型 —— 全维度技术解析一、模型架构全景解析1…...

OSPF网络类型:NBMA与P2MP
一、NBMA网络 NBMA网络的特点 连接方式: 支持多台设备连接到同一个网络段,但网络本身不支持广播或组播。典型例子:帧中继、ATM。 DR/BDR选举: 由于网络不支持广播,OSPF需要手动配置邻居。 仍然会选举DR(…...

大数定律详解
前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 🌟 一、大数定律的…...

2025生物科技革命:AI驱动的基因编辑与合成生物学新纪元
一、基因编辑技术的精准化突破 第三代基因编辑工具CRISPR-Cas12f的研发成功,将编辑精度提升至0.1碱基对级别。中国科学院团队利用该技术在灵长类动物模型中修复遗传性视网膜病变基因,治愈率达到92%。对比传统CRISPR-Cas9技术,新型编辑器脱靶…...

百度SEO关键词布局从堆砌到场景化的转型指南
百度SEO关键词布局:从“堆砌”到“场景化”的转型指南 引言 在搜索引擎优化(SEO)领域,关键词布局一直是核心策略之一。然而,随着搜索引擎算法的不断升级和用户需求的多样化,传统的“关键词堆砌”策略已经…...

macOS常用网络管理配置命令
目录 **1. ifconfig:查看和配置网络接口****2. networksetup:管理系统网络配置****3. ping:测试网络连通性****4. traceroute:跟踪数据包路径****5. nslookup/dig:DNS 查询****6. netstat:查看网络连接和统…...

Selenium 中 ActionChains 支持的鼠标和键盘操作设置及最佳实践
Selenium 中 ActionChains 支持的鼠标和键盘操作设置及最佳实践 一、引言 在使用 Selenium 进行自动化测试时,ActionChains 类提供了强大的功能,用于模拟鼠标和键盘的各种操作。通过 ActionChains,可以实现复杂的用户交互,如鼠标…...

【五.LangChain技术与应用】【31.LangChain ReAct Agent:反应式智能代理的实现】
一、ReAct Agent是啥?为什么说它比「普通AI」聪明? 想象一下,你让ChatGPT查快递物流,它可能直接编个假单号糊弄你。但换成ReAct Agent,它会先推理(Reasoning)需要调用哪个接口,再行动(Action)查询真实数据——这就是ReAct的核心:让AI学会「动脑子」再动手。 举个真…...

【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(七) -> JS动画(二)
目录 1 -> 动画动效 1.1 -> 创建动画对象 1.2 -> 添加动画事件和调用接口 2 -> 动画帧 2.1 -> 请求动画帧 2.2 -> 取消动画帧 1 -> 动画动效 通过设置插值器来实现动画效果。 说明 从API Version 6 开始支持。 1.1 -> 创建动画对象 通过cre…...

SpaCy处理NLP的详细工作原理及工作原理框图
spaCy处理NLP的详细工作原理及工作原理框图 spaCy处理NLP的详细工作原理 spaCy是一个基于Python的开源自然语言处理(NLP)库,它提供了一系列高效且易用的工具,用于执行各种NLP任务,如文本预处理、文本解析、命名实体识…...

Mysql中的常用函数
1、datediff(date1,date2) date1减去date2,返回两个日期之间的天数。 SELECT DATEDIFF(2008-11-30,2008-11-29) AS DiffDate -- 返回1 SELECT DATEDIFF(2008-11-29,2008-11-30) AS DiffDate -- 返回-1 2、char_length(s) 返回字符串 s 的字符数 3、round(x,d)…...