|登录 |注册

登录
登录 注册
查看: 1825|回复: 6
打印 上一主题 下一主题

自動生成的號碼 加開頭 字母 SQL 搞定

[复制链接]
goodday
2010-5-6 11:09 PM
記得有人問過

P001
P002
P003

EST001
EST002
EST003

自動生成的號碼  加開頭 字母 SQL 搞定
  1. select 'p'+ convert(nvarchar,ProductIDN) as ss from Products
复制代码
mssql 罷了 mysql 我沒試過
goodday
2010-5-7 12:05 AM
去字
SELECT (substring(PurchaseOrderCode,4,10))   
  FROM [tblPurchase]

PO0001 變 0001

nvarchar = 2 byte

呵呵
Super-Tomato
2010-5-7 12:17 AM
本帖最后由 Super-Tomato 于 2010-5-7 12:20 AM 编辑
記得有人問過

P001
P002
P003

EST001
EST002
EST003

自動生成的號碼  加開頭 字母 SQL 搞定
  1. select 'p'+ convert(nvarchar,ProductIDN) as ss from Products
复制代码
复制代码
mssql 罷了 mysql 我沒試過
goodday 发表于 2010-5-6 11:09 PM


mysql 则是

  1. SELECT CONCAT('p', LPAD(ProductIDN, 3, '0')) AS ss FROM Products
复制代码




去字
SELECT (substring(PurchaseOrderCode,4,10))   
  FROM [tblPurchase]

PO0001 變 0001

nvar ...
goodday 发表于 2010-5-7 12:05 AM


mysql (用 RIGHT 簡單些)

SELECT RIGHT(PurchaseOrderCode,4) FROM [tblPurchase]
goodday
2010-5-8 08:24 PM
番茄 mysql 好像容易很多
Super-Tomato
2010-5-8 10:17 PM
本帖最后由 Super-Tomato 于 2010-5-8 10:25 PM 编辑
番茄 mysql 好像容易很多
goodday 发表于 2010-5-8 08:24 PM


會嗎?? 我感覺上差不多, 只是 MSSQL 要把數字轉換為文字這個步驟方式不一樣

不過 MSSQL 應該是有這樣的做法吧

CREATE TABLE test(
    ID    INT    IDENTITY(1,1)    PRIMARY KEY,
    PID   AS 'P' + RIGHT('000' + CAST(ID AS VARCHAR), 3)
)
fyhao
2010-5-12 07:12 PM
用Function就能搞定了,真没想过。。。
宅男-兜着走
2010-5-12 11:20 PM
如果是Linq 的话要怎样?
还是 String Fomat 就收工了?
您需要登录后才可以回帖 登录 | 注册

回顶部